Ten artykuł opisuje, jak odnaleźć i usunąć pliki starsze niż 30 dni. Tutaj „starsze o XX dni” oznacza, że data ostatniej modyfikacji jest wcześniejsza niż XX dni.
Usuwanie plików starszych niż 30 dni
Za pomocą polecenia find możesz wyszukać i usunąć wszystkie pliki, które zostały zmodyfikowane więcej niż X dni. Jeśli jest to konieczne, możesz je usunąć jednym poleceniem.
Przede wszystkim wyświetl wszystkie pliki starsze niż 30 dni w katalogu /backup.
find /backup -type f -mtime +30
Zweryfikuj listę plików i upewnij się, że żadne użyteczne pliki nie są wymienione w powyższym poleceniu. Po potwierdzeniu możesz przejść do usunięcia tych plików za pomocą następującego polecenia.
find /backup -type f -mtime +30 -delete
Usuwanie plików o określonym rozszerzeniu
Możesz również określić dodatkowe filtry, aby zlokalizować pliki do usunięcia, zamiast usuwać wszystkie pliki. Na przykład, możesz usunąć tylko pliki z rozszerzeniem „.log”, które zostały zmodyfikowane wcześniej niż 30 dni.
Dla bezpieczeństwa, najpierw przeprowadź próbę i wyświetl pliki spełniające kryteria.
find /var/log -name "*.log" -type f -mtime +30
Po zweryfikowaniu listy możesz usunąć te pliki, wykonując następujące polecenie:
find /var/log -name "*.log" -type f -mtime +30 -delete
Powyższe polecenie usunie tylko pliki z rozszerzeniem .log, których data ostatniej modyfikacji jest starsza niż 30 dni.
Usuwanie starych katalogów rekurencyjnie
Opcja -delete może nie powieść się, jeśli katalog nie jest pusty. W takim przypadku użyjemy polecenia Linux rm z poleceniem find, aby przeprowadzić usunięcie.
Wyszukaj wszystkie katalogi w /var/log zmodyfikowane wcześniej niż 90 dni za pomocą poniższego polecenia.
find /var/log -type d -mtime +90
Tutaj możemy wykonać polecenie rm, używając opcji wiersza poleceń -exec. Wynik polecenia find zostanie przekazany jako dane wejściowe do polecenia rm.
find /var/log -type d -mtime +30 -exec rm -rf {} ;