Linux Labs

Пакеты, службы, журналы / Ступень 12 из 13

Ротация и хранение журналов

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 1 из 9 · на машине · 5 мин

Правило есть, а лог прежний

Чему научишься

  • Читать правило logrotate и отличать план ротации от выполненной ротации.
  • Ограничивать место, которое занимает журнал systemd, и освобождать его.
  • Выполнять ротацию так, чтобы программа продолжала писать в новый лог.

Лог приложения /var/log/lab-rotate/app.log вырос, для него написали правило ротации. Коллега запустил logrotate с ключом --debug, «чтобы видеть подробности», и уверен, что ротация прошла. Повтори за ним и сравни каталог до и после.

Упражнение · посмотреть

Ротация с --debug

Ты в /srv/rotate-lab. Посмотри каталог лога, запусти logrotate так же, как коллега, и посмотри каталог снова.

Сначала предположи

logrotate напишет log needs rotating и renaming /var/log/lab-rotate/app.log to /var/log/lab-rotate/app.log.1. Что будет в каталоге после команды?

Теперь начни упражнение, выполни команду и сверь прогноз с выводом.

Войти и начать Машина доступна после входа
Проверь себя 1 вопрос

Почему logrotate описал переименование app.log, а файлы в каталоге не изменились?

  • logrotate написал log needs rotating: 2048 байт больше порога size 1k.

  • Таймер запускает logrotate с системными правилами из /etc/logrotate.d. Правило из /srv/rotate-lab в них не входит.

  • Команда шла через sudo, ошибок прав в выводе нет. Первой строкой logrotate сам пишет, что в режиме debug ничего не делает.

--debug только показал план ротации, о чём logrotate предупредил первой строкой.

Ubuntu 24.04
Загрузка…