Skrypt do wykonania przez cronjob, który usuwa wszystkie pliki w wielu katalogach


3

Mam nadzieję, że możesz mi pożyczyć swoją wiedzę.

Korzystam z hostingu współdzielonego na Hostgator i muszę dowiedzieć się, jak usuwać wszystkie pliki .gz w wielu katalogach co godzinę. Myślę, że mam poprawne polecenie cronjob, aby zrobić to dla jednego katalogu:

/usr/bin/find /path/to/directory/ -type f -name '*.gz' -exec rm {} \;

Czy to jest poprawne?

Jeśli tak, jak mam wykonać tę samą akcję, ale dla wielu (tj. Kilkudziesięciu) katalogów? Zgaduję, że mogę wykonać jeden skrypt zamiast kilku pojedynczych zadań cron, ale jestem w tym nowy. Jak wyglądałby taki skrypt? Jak mógłbym wykonać skrypt za pomocą cronjob?

Z góry dziękuję za wszelką pomoc!


Jeśli twoja wersja find obsługuje to, możesz użyć -delete zamiast -exec rm {} \; Lub przynajmniej + zamiast \;.
Dennis Williamson

Alternatywą jest /usr/bin/find /path/to/directory/ -type f -name '*.gz' -print0 | xargs -0 rm co pozwala uniknąć wykonywania rm w kółko dla każdego pojedynczego pliku.
hlovdal

Odpowiedzi:


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.