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!
find
obsługuje to, możesz użyć-delete
zamiast-exec rm {} \;
Lub przynajmniej+
zamiast\;
./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.Odpowiedzi:
Przekaż wiele ścieżek do
find
.źródło