Ответ 1
Да: logrotate --force $CONFIG_FILE
Можно ли запустить одну итерацию logrotate вручную, не планируя ее на некоторый интервал?
Да: 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 будут повернуты.
Возможно, вы захотите запустить его в режиме подробных + силовых.
logrotate -vf /etc/logrotate.conf
Способ запуска всего logrotate:
logrotate -f /etc/logrotate.conf
который будет запускать основной файл logrotate, который также включает в себя другие конфигурации 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
}
Создал оболочку script для решения проблемы.
http://www.ict.griffith.edu.au/anthony/software/#logrotate_one
Этот script будет запускать только один файл подконфигурации logrotate, найденный в "/etc/logrotate.d", но включает глобальные параметры из глобального файла конфигурации "/etc/logrotate.conf". Вы также можете использовать другие отпионы для тестирования...
Например...
logrotate_one -d syslog
отредактируйте/var/lib/logrotate.status до reset дату последнего поворота в файле журнала, который вы хотите проверить.
Затем запустите logrotate YOUR_CONFIG_FILE
.
Или вы можете использовать флаг -force, но редактирование logrotate.status дает вам больше точности над тем, что делает и не поворачивается.