Можно ли выполнить одну проверку logrotate вручную? - PullRequest
483 голосов
/ 22 января 2010

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

Ответы [ 8 ]

654 голосов
/ 22 января 2010

Да: logrotate --force $CONFIG_FILE

486 голосов
/ 09 августа 2011

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

109 голосов
/ 05 марта 2013

Если вы хотите принудительно запустить отдельный каталог или файлы журналов демона, вы обычно можете найти конфигурацию в /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 будут вращаться.

58 голосов
/ 03 июня 2012

Возможно, вы захотите запустить его в подробном + принудительном режиме.

logrotate -vf /etc/logrotate.conf

34 голосов
/ 19 мая 2012

Способ запуска всего logrotate:

logrotate -f /etc/logrotate.conf

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

21 голосов
/ 11 марта 2015

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

logrotate -vf /etc/logrotate.d/custom

Параметры:

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

-f: принудительный запуск

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

например: MongoDB-журнал

# mongodb-log rotate

/data/var/log/mongodb/mongod.log {
    daily
    dateext
    rotate 30
    copytruncate
    missingok
}
3 голосов
/ 13 ноября 2017

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

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

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

1 голос
/ 30 ноября 2016

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

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

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

Например ...

  logrotate_one -d syslog
...