Як я можу контролювати, що робить логротат?


51

Як я можу контролювати, що логротат робить в Ubuntu? Чи можна контролювати активність логротату?


добре, ви могли піти і подивитися, які дескриптори файлів відкрив процес ... Можливо, спробуйте пояснити, яка саме проблема у вас є? Ви намагаєтеся налагодити власні сценарії? Виконання сценаріїв за замовчуванням / сторонніх?
Хуберт Каріо

Відповіді:


55
cat /var/lib/logrotate/status 

Щоб перевірити, чи дійсно певний журнал обертається чи ні, і перевірити останню дату та час його обертання, перевірте файл / var / lib / logrotate / status. Це акуратно відформатований файл, який містить ім’я файлу журналу та дату, коли він востаннє обертався.

Взято:

https://www.digitalocean.com/community/articles/how-to-manage-log-files-with-logrotate-on-ubuntu-12-10


16
Ви знайдете цей файл, як /var/lib/logrotate.statusу системах Red Hat.
Майкл Хемптон

1
ось повний посібник з усунення несправностей з логротатом у системах Red Hat: access.redhat.com/solutions/32831
Gaia

Враховуючи Ubuntu, cat /var/lib/logrotate/status показує лише логротатну активність, ініційовану користувачем root . Cronjobs інших користувачів може запускати власну логротатну активність, наприклад, коли їх crontab включає запис, такий як 0 0 * * * /usr/sbin/logrotate $HOME/logrotate/logrotate.conf --state $HOME/logrotate/logrotate-state. Ця активність логротату буде записана у файл $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.

Чи допомагає це в цьому, коли логротат запускається як крон? Я маю на увазі, чи є можливість зафіксувати поведінку logrotate до logfile?

2
/ usr / sbin / logrotate -v /etc/logrotate.conf &> /var/log/logrotate.log
kernelpanic

sudo logrotate -v /etc/logrotate.conf &> /var/log/logrotate.log bash: /var/log/logrotate.log: У дозволі відхилено

1
@dude: Якщо ви намагаєтеся це зробити з командного рядка і отримуєте цю помилку, вам потрібно зробити це так: sudo logrotate -v /etc/logrotate.conf 2>&1 | sudo tee -a /var/log/logrotate.log >/dev/null(переконайтеся, що у вас є -a).
Денніс Вільямсон

@ Денніс, коли я намагаюся, що я хоча створює logrotate.log, але він має 0 КБ, і процес не зупиняється на терміналі, і чекає миготливим курсором.


5

Різні журнали обертаються на різних частотах на основі файлу конфігурації (/etc/logrotate.conf) та / або каталогу (/etc/logrotate.d). Назви можуть відрізнятися в різних розподілах. Конфігурація може визначати дії перед і / або після обертання. Назви повернутих файлів та дата останнього обертання містяться у файлі стану (/ var / lib / logrotate / state).

У логротета немає засобів для лісозаготівлі. Дії перезавантаження / перезапуску, які він ініціює, будуть реєструватися у відповідності з протоколом журналу програми, на яку діє.

Найпростіший спосіб зробити це - редагувати, /etc/cron.daily/logrotateщоб включити -vопцію. Детально про конфігурацію логротату та параметри можна знайти в команді man logrotate.


3

Чувак, ти можеш перевірити налаштування 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 дні журналів.
темпото

@temoto дякую, це було насправдіweekly
Ring Ø
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.