Czasami zachodzi potrzeba kasowania plików których "świeżość" ;) przekroczyła pewną ilość dni.
np.
choćby stare backupy , lub stare zdjęcia, cokolwiek
oto kilka prostych porad jak się do tego zabrać:
1)
możemy wykorzystać do tego startego poczciwego find'a
find . -ctime +30 -delete
lub jeśli szukamy tylko np. archiwum tar.gz
find . -name '*.tar.gz' -ctime +30 -delete
(kasowanie nastąpi w bieżącym katalogu dla plików starszych i równych 30 dni)
jeśli chcemy w innym katalogu to zamiast . po find wpisujemy zadany katalog
np.
find /tmp -name '*.tar.gz' -ctime +30 -delete
(skasujemy wszystkie swoje pliki tar.tgz z katalogu /tmp , starsze niż 30 dni)
2)
możemy też wykorzystać skrypt w bash'u
vi kasuj_30dni.sh
(stwórz plik z zawartością (poniżej))
#!/bin/sh DZIS=`date +%s` DOBA=86400 ls $1 | while read file do STATE=`stat --format=%Y ${file}` PARAMETR=$(((DZIS-STATE)/DOBA)) if [ $PARAMETR -gt 30 ] then echo "Kasuje plik ${file} ktory jest starszy niz 30 dni" rm -f -v ${file} fi done
dodajmy uprawnienia dla pliku:
chmod u+x kasuj_30dni.sh
i bęc uruchamiamy (tylko ostrożnie bo skasuje nam wszystko powyżej 30 dni w bieżącym katalogu)
./kasuj_30dni.sh
Andrzej Tarnowiecki
Usługi Informatyczne - tarnet.eu.org
Brak komentarzy:
Prześlij komentarz