Шаг 7 из 9 · лаба · 20 мин
Настроить ротацию логов
Служба пишет в лог без ограничения роста. Настрой для него logrotate так, чтобы после ротации служба продолжала писать.
Ситуация
Служба myapp раз в две секунды дописывает строку в /var/log/myapp/app.log. Ротации у лога нет:
файл уже большой и растёт дальше. Нужна штатная ротация через logrotate.
Задача
- Правило лежит отдельным файлом
/etc/logrotate.d/myapp, описывает/var/log/myapp/app.logи читается logrotate без ошибок. - По этому правилу лог вращается раз в сутки, хранится семь старых файлов, старые файлы сжимаются.
- Одна ротация уже выполнена: прежнее содержимое лога лежит в архиве рядом с ним.
- После ротации служба
myappпродолжает писать в/var/log/myapp/app.log. - Следующие ротации по этому правилу тоже не уводят запись службы из
app.log.
Ограничения
- Службу
myappи её программу/usr/local/bin/myappне меняй. - Прежнее содержимое лога не удаляй.
Нужные инструменты уже установлены. Интернета на машине нет.
Лаба · самостоятельно
Команды в этой лабе не даны: набирай их в терминале сам. Цели проверяются на машине после каждой команды.
Цели
0 из 5-
Правило /etc/logrotate.d/myapp описывает /var/log/myapp/app.log и читается без ошибок — ещё не выполнена
-
По правилу лог вращается раз в сутки, хранится семь старых файлов, старые сжимаются — ещё не выполнена
-
Ротация выполнена — прежнее содержимое лога лежит в архиве — ещё не выполнена
-
После ротации служба myapp пишет в /var/log/myapp/app.log — ещё не выполнена
-
Следующие ротации по правилу тоже не уводят запись службы из app.log — ещё не выполнена
Ctrl+Enter
Запустит машину node1 · Ubuntu 24.04
Машина запускается
Подсказки
0 из 3Цели лабы
0 из 5-
Правило /etc/logrotate.d/myapp описывает /var/log/myapp/app.log и читается без ошибок — ещё не выполнена
-
По правилу лог вращается раз в сутки, хранится семь старых файлов, старые сжимаются — ещё не выполнена
-
Ротация выполнена — прежнее содержимое лога лежит в архиве — ещё не выполнена
-
После ротации служба myapp пишет в /var/log/myapp/app.log — ещё не выполнена
-
Следующие ротации по правилу тоже не уводят запись службы из app.log — ещё не выполнена
Цели проверяются на машине после каждой команды.