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

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

Ответ 1

Да: logrotate --force $CONFIG_FILE

Ответ 2

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

Ответ 3

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

Ответ 4

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

logrotate -vf /etc/logrotate.conf

Ответ 5

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

logrotate -f /etc/logrotate.conf

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

Ответ 6

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

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
}

Ответ 7

Создал оболочку script для решения проблемы.

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

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

Например...

  logrotate_one -d syslog

Ответ 8

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

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

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