Командная строка Middle Балансировка и nginx обновлено

Ротация логов своими руками

Условие

В текущем каталоге лежат логи: app.log (текущий), app.log.1 (прошлый, несжатый), app.log.2.gz, app.log.3.gz и так далее. На stdin число N: сколько ротированных копий хранить. Сделайте ротацию как logrotate с delaycompress: каждый app.log.K.gz сдвинуть в app.log.(K+1).gz, app.log.1 сжать в app.log.2.gz, app.log переименовать в app.log.1, создать пустой app.log, удалить копии с номером больше N. Затем выведите все файлы app.log* в порядке номера (app.log первым) в формате <имя> <число строк содержимого>.

Как подойти

Подсказки: 2
  1. Сдвиг по убыванию номера: for ((i = max; i >= 2; i--)).
  2. zcat -f понимает и несжатые файлы.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.