Можно ли запустить одну проверку logrotate вручную?

можно ли запустить одну итерацию logrotate вручную, не планируя ее на некотором интервале?

8 ответов


да: logrotate --force $CONFIG_FILE


logrotate -d [your_config_file] вызывает режим отладки, давая вам подробное описание того, что произойдет, но оставляя файлы журнала нетронутыми.


если вы хотите принудительно запустить один конкретный каталог или файлы журнала демона, вы обычно можете найти конфигурацию в /etc/logrotate.d, и они будут работать автономно.

имейте в виду, что глобальная конфигурация указана в /etc/logrotate.conf не будет применяться, поэтому, если вы это сделаете, вы должны убедиться, что вы укажете все параметры, которые вы хотите в /etc/logrotate.d/[servicename] конфигурационный файл конкретно.

вы можете попробовать его с -d чтобы увидеть, что произойдет:

logrotate -df /etc/logrotate.d/nginx

затем вы можете запустить (использование nginx в качестве примера):

logrotate -f /etc/logrotate.d/nginx

и только журналы nginx будут повернуты.


вы можете запустить его в режиме verbose + force.

logrotate -vf /etc/logrotate.conf


способ запустить все logrotate:

logrotate -f /etc/logrotate.conf

это запустит основной файл logrotate, который также включает другие конфигурации logrotate


введите следующую команду, способ запуска указанного logrotate:

logrotate -vf /etc/logrotate.d/custom

варианты:

- v: показать процесс

- f: заставляя бежать

custom: пользовательская настройка журнала

например: mongodb-log

# mongodb-log rotate

/data/var/log/mongodb/mongod.log {
    daily
    dateext
    rotate 30
    copytruncate
    missingok
}

редактировать/var/lib / logrotate.статус для сброса даты "последнего поворота" в файле журнала, который вы хотите протестировать.

затем запустите logrotate YOUR_CONFIG_FILE.

или вы можете использовать флаг --force, но редактировать logrotate.статус дает вам больше точности над тем, что делает и не поворачивается.


создал сценарий оболочки для решения проблемы.

http://www.ict.griffith.edu.au/anthony/software/#logrotate_one

этот скрипт будет запускать только один файл конфигурации logrotate, найденный в " /etc/logrotate.d", но включите глобальные параметры из глобального файла конфигурации " /etc / logrotate.conf". Вы также можете использовать другие otpions для тестирования...

например...

  logrotate_one -d syslog