Рекурсивне видалення старих архівів в Linux
- 19 Січня 2016
- Volodymyr Hodiak
- Адміністрування
- 4888
Виникла проблема — на одному з серверів для збереження бекапів переповнилося місце. Через це на іншому сервері також переповнилося місце. Тому що спочатку робиться архів локально, а потім переміщується на один із серверів бекапів.
Але ми адміни ліниві, і вручну перегладати директорії і видаляти архіви понад кількі місяців точно не будемо. Особливо, коли проектів понад 200. Виручить простенький скрипт, який треба повішати на cron.
Код скрипта:
find /backup/ -type f -mtime +30 -name "*.tar.gz" -exec rm -f {} \;
, де
/backup/ - директорія з бекапами;
-type f - тип файл;
-mtime +30 - старше 30 днів;
-name "*.tar.gz" - розширення .tar.gz (щоб нічого зайвого не видалити!!!);
exec rm -f {} \; - команда видалення.
Просто кажучи, команда читається так: знайди всі файли з розширенням .tar.gz старші 30 днів і видали.