>_ IzzyLab

Практическое задание

Заархивируй старые логи

средне

В /var/log/app скопились логи. Собери все .log-файлы старше 7 дней в архив /root/old-logs.tar.gz и удали оригиналы. Свежие логи не трогай.

Что потренируешь:
  • find
  • -mtime
  • tar
  • gzip
  • ротация логов

Разбор темы

Задача связывает поиск по возрасту файла и упаковку: find умеет отбирать файлы по времени модификации предикатом -mtime, где значение с плюсом означает «старше N суток». Отобранный список удобно скормить tar, который умеет читать имена упаковываемых файлов из отдельного списка (в том числе со stdin через конвейер) и сразу сжимать архив gzip'ом. Оригиналы аккуратнее всего удалить тем же find с тем же фильтром возраста уже после создания архива — так свежие файлы гарантированно не пострадают.

Что проверяется

  1. старые логи собраны в old-logs.tar.gz
  2. оригиналы старых логов удалены
  3. свежий лог остался и не попал в архив

Как это выглядит