Як набути чинності зміни повороту журналу


99

Я перейшов за цим посиланням, щоб змінити конфігурацію повороту журналу для RHEL 6

Щойно я змінив конфігураційний файл, що мені робити, щоб це набуло чинності?

Відповіді:


139

logrotateвикористовує crontabдля роботи. Це планова робота, а не демон, тому не потрібно перезавантажувати її конфігурацію.
Коли вони crontabвиконані logrotate, він автоматично використовуватиме ваш новий конфігураційний файл.
Якщо вам потрібно перевірити свій конфігурацію, ви також можете виконати logrotateсамостійно за допомогою команди:

logrotate /etc/logrotate.d/your-logrotate-config

Або як зазначено в коментарях, ідентифікуйте logrotateрядок у висновку команди crontab -lта виконайте командний рядок, зверніться до відповіді slm, щоб мати точне пояснення cron.daily


1
Просто для додання вашої відповіді, запис за кроном logrotateпланується виконувати один раз на день.
mkc

@ Ketan, так, як я можу змусити це вплинути відразу? дякую
BufBills

Не впевнений. Одна з можливостей - знайти відповідний запис із crontab через crontab -lта виконати його.
mkc

2
Якщо ви хочете, щоб він набрав чинності, негайно запустіть післяпис із записом.
slm

2
logrotateє -dможливість тестування (або "налагодження"), я б рекомендував запустити її хоча б раз із цим.
FrustratedWithFormsDesigner

36

Більшість logrotateустановок, які я бачив на різних дистрибутивах, закінчується /etc/cron.daily. Там сценарій оболонки влучно названий logrotate.

Приклад

$ ls -l /etc/cron.daily/logrotate 
-rwxr-xr-x 1 root root 180 May 18  2011 /etc/cron.daily/logrotate

Ручний пробіг

Якщо ви хочете змусити його запускати вручну, просто запустіть скрипт як root:

$ sudo /etc/cron.daily/logrotate

Якщо ви подивитеся на logrotateзвичайний сценарій, він показує, як ви також можете запустити вручну, просто запустивши logrotate+ шлях до файлу конфігурації.

#!/bin/sh

/usr/sbin/logrotate /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
    /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0

31

Він повинен бути автоматичним через cron. Ви можете змусити його перевірити свої зміни.

Для глобального логротату:

sudo logrotate -v -f /etc/logrotate.conf

Для одного файлу конф:

sudo logrotate -v -f /etc/logrotate.d/someapp.conf

11
-fдля силового обертання, є також -dдля налагодження, який також є «Сухим пробігом», він надрукує все, що робив би, але насправді цього не робити.
ThorSummoner

5

На моїй машині CentOS 6.5 для настройки logrotatefor nginx мені довелося це зробити:

logrotate /etc/logrotate.d/nginx

А потім я перевірив, чи logrotate піклується про мою нову конфігурацію nginx, як це:

cat /var/lib/logrotate.status
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.