хорошо, вы могли бы пойти и посмотреть, какие файловые дескрипторы открыты процессом ... Может быть, попытаться объяснить, какая именно у вас проблема? Вы пытаетесь отлаживать свои собственные сценарии? Производительность стандартных / сторонних скриптов?
Хьюберт Карио
Ответы:
55
cat /var/lib/logrotate/status
Чтобы проверить, действительно ли конкретный журнал вращается или нет, а также проверить последнюю дату и время его вращения, проверьте файл / var / lib / logrotate / status. Это аккуратно отформатированный файл, который содержит имя файла журнала и дату последнего поворота.
Учитывая Ubuntu, 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будет домашним каталогом этого пользователя.
Абдул
В еще более новых системах RedHat (по крайней мере, в RHEL 7.6) файл состояния теперь находится в /var/lib/logrotate/logrotate.status.
Richlv
13
Вы можете попробовать запустить 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.
@ Dude: Если вы пытаетесь сделать это из командной строки и получаете эту ошибку, вам нужно сделать это следующим образом: sudo logrotate -v /etc/logrotate.conf 2>&1 | sudo tee -a /var/log/logrotate.log >/dev/null(убедитесь, что у вас есть -a).
Деннис Уильямсон
@Dennis, когда я пытаюсь это сделать, я хотя и создаю logrotate.log, но он имеет 0 КБ, и процесс не останавливается на терминале и ждет с мигающим курсором.
AWS AMI Linux имеет такую же структуру статуса logrotate
Виктор Перов
5
Различные журналы чередуются на разных частотах в зависимости от файла конфигурации (/etc/logrotate.conf) и / или каталога (/etc/logrotate.d). Имена могут различаться в разных дистрибутивах. Конфигурация может указывать действия до и / или после поворота. Имена повернутых файлов и дата последней ротации находятся в файле состояния (/ var / lib / logrotate / state).
Logrotate не имеет средств ведения журнала. Действия перезапуска / перезапуска, которые он инициирует, будут регистрироваться в соответствии с регистрацией для программы, в которой выполняется действие.
Самый простой способ сделать это - отредактировать /etc/cron.daily/logrotateи включить -vопцию. Подробно о конфигурации и опциях logrotate можно узнать с помощью команды man logrotate.
Ответы:
Взято из:
https://www.digitalocean.com/community/articles/how-to-manage-log-files-with-logrotate-on-ubuntu-12-10
источник
/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 в режиме отладки или в подробном режиме:
источник
sudo logrotate -v /etc/logrotate.conf 2>&1 | sudo tee -a /var/log/logrotate.log >/dev/null
(убедитесь, что у вас есть-a
).В дистрибутивах Suse Linux это так:
источник
Различные журналы чередуются на разных частотах в зависимости от файла конфигурации (/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
Он будет хранить файл в течение 52 недель (год). Ротация еженедельная.
Примечание: user56548 раньше был "Чувак"
источник
rotate 365
илиweekly
. Ежедневная ротация сrotate 52
52 днями будет храниться, очевидно.weekly