Skocz do zawartości
Zaloguj się, aby obserwować  
JohnyByk

Skrypt do usuwania starych plików [backup]

Polecane posty

Witam.

 

Piszę z prośbą o pomoc w napisaniu skryptu w per'u, którego nie znam ani trochę.

Zabieram się za łyknięcie podstaw, ale ciągle brakuje mi czasu, a jak coś na szybko znajdę to nie załatwia to moich problemów bo na końcu się okazuje, że to nie o to chodziło.

 

Chodzi mi o skrypt, który wrzuci listę plików z zadanego folderu do tablicy.

Później do każdego przebiegu pętli podbija mi licznik i jeśli licznik (równoznaczne z liczbą plików w folderze) jest większy od X to pliki są kasowane z folderu.

 

Chodzi po prostu o usunięcie najstarszych plików powyżej ilości X.

 

Chciałbym się dowiedzieć:

- w jaki sposób "podbić" wartość zmiennej o 1 przy przebiegu pętli (coś al'a php'owe $zmienna++)

- jak pososrtować pliki w tablicy po dacie?

 

A może jest jakiś szybszy sposób w stylu: pozostaw 30 najnowszych plików z folderu X?

Może ktoś ma coś gotowego i zechce się podzielić?

 

Z chcęcią zrobiłbym to sam i nauczył się podstaw perl'a, ale zabranie się do tego zajmuje mi zbyt dużo czasu z powodu braku czasu :].

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Najprościej smile.png To wyświetli Ci.

$zm=`ls -1|wc -l`; if [ $zm -gt 20 ]; then ls -1t|tail -10; fi

Wystarczy dodać xargs i robisz co chcesz z tym, np:

$zm=`ls -1|wc -l`; if [ $zm -gt 20 ]; then ls -1t|tail -10|xargs rm -f; fi

 

Jeśli plików będzie więcej niż 20 to usunie 10 najstarszych. Łatwo się domyślić, co gdzie poprawić, udoskonalić

 

PS. Używasz na własne ryzyko :)

Edytowano przez Syndrom (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×