Как я могу отслеживать, что делает logrotate в Ubuntu? Можно ли контролировать активность logrotate?
Как я могу отслеживать, что делает logrotate в Ubuntu? Можно ли контролировать активность logrotate?
Ответы:
cat /var/lib/logrotate/status
Чтобы проверить, действительно ли конкретный журнал вращается или нет, а также проверить последнюю дату и время его вращения, проверьте файл / var / lib / logrotate / status. Это аккуратно отформатированный файл, который содержит имя файла журнала и дату последнего поворота.
Взято из:
/var/lib/logrotate.status
в системах Red Hat.
cat /var/lib/logrotate/status
показывает только активность logrotate, инициированную пользователем root . Cronjobs других пользователей могут запускать свои собственные действия logrotate, например, когда их crontab включает в себя такую запись, как 0 0 * * * /usr/sbin/logrotate $HOME/logrotate/logrotate.conf --state $HOME/logrotate/logrotate-state
. Эта активность logrotate будет записана в файл $HOME/logrotate/logrotate-state
, и $HOME
будет домашним каталогом этого пользователя.
/var/lib/logrotate/logrotate.status
.
Вы можете попробовать запустить logrotate в режиме отладки или в подробном режиме:
-d Turns on debug mode and implies -v. In debug mode, no changes
will be made to the logs or to the logrotate state file.
-v, --verbose
Display messages during rotation.
sudo logrotate -v /etc/logrotate.conf 2>&1 | sudo tee -a /var/log/logrotate.log >/dev/null
(убедитесь, что у вас есть -a
).
В дистрибутивах Suse Linux это так:
cat /var/lib/logrotate.status
Различные журналы чередуются на разных частотах в зависимости от файла конфигурации (/etc/logrotate.conf) и / или каталога (/etc/logrotate.d). Имена могут различаться в разных дистрибутивах. Конфигурация может указывать действия до и / или после поворота. Имена повернутых файлов и дата последней ротации находятся в файле состояния (/ var / lib / logrotate / state).
Logrotate не имеет средств ведения журнала. Действия перезапуска / перезапуска, которые он инициирует, будут регистрироваться в соответствии с регистрацией для программы, в которой выполняется действие.
Самый простой способ сделать это - отредактировать /etc/cron.daily/logrotate
и включить -v
опцию. Подробно о конфигурации и опциях logrotate можно узнать с помощью команды man logrotate
.
Чувак, вы можете проверить настройки logrotate
, как правило, в /etc/logrotate.conf
.
Современные дистрибутивы имеют специальный logrotate
файл конфигурации в /etc/logrotate.d
каталоге.
например для nginx
/var/log/nginx/*.log {
weekly
missingok
rotate 52
Он будет хранить файл в течение 52 недель (год). Ротация еженедельная.
Примечание: user56548 раньше был "Чувак"
rotate 365
или weekly
. Ежедневная ротация с rotate 52
52 днями будет храниться, очевидно.
weekly