Можно ли запустить одну проверку logrotate вручную?
Вопрос
Можно ли запустить одну итерацию 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:
logrotate -vf /etc/logrotate.d/custom
Опции:
-v : покажите процесс
-f : принудительный запуск
пользовательский : определяемая пользователем настройка журнала
например:mongodb-журнал
# mongodb-log rotate
/data/var/log/mongodb/mongod.log {
daily
dateext
rotate 30
copytruncate
missingok
}
отредактируйте /var/lib/logrotate.status, чтобы сбросить дату "последнего поворота" в файле журнала, который вы хотите протестировать.
Тогда беги logrotate YOUR_CONFIG_FILE
.
Или вы можете использовать флаг --force , но редактирование logrotate.status дает вам больше точности в отношении того, что поворачивается, а что нет.
Создал сценарий командной строки для решения проблемы.
http://www.ict.griffith.edu.au/anthony/software/#logrotate_one
Этот скрипт запустит только один файл вложенной конфигурации logrotate, найденный в "/etc/logrotate.d", но включит глобальные настройки из глобального файла конфигурации "/etc/logrotate.conf".Вы также можете использовать другие варианты для его тестирования...
Например...
logrotate_one -d syslog