Можно ли запустить одну итерацию logrotate вручную, не планируя ее на некотором интервале?
Можно ли запустить одну итерацию logrotate вручную, не планируя ее на некотором интервале?
Ответы:
Да: logrotate --force $CONFIG_FILE
--force
файлы будут вращаться, даже если они не соответствуют указанным критериям, таким как минимальный размер, возраст и т. д.
logrotate --force /etc/logrotate.d/
(только имя каталога)
--force
вызовет ротацию, даже если файлы не соответствуют критериям (возраст, размер и т. Д.), Но, пожалуйста, учтите, что это единственный способ обнаружить реальные проблемы, с которыми logrotate -d
не может возникнуть (например, у меня на сервере не хватает пространство из-за logrotate не работает в течение нескольких месяцев ... и благодаря тому, что --force
я выяснил, что были File exists
ошибки. Я вручную удалил эти файлы, и теперь вращение снова работает правильно!
logrotate -d [your_config_file]
вызывает режим отладки, предоставляя подробное описание того, что произойдет, но оставляя файлы журнала без изменений.
logrotate --force
и работает хорошо.
Если вы хотите принудительно запустить отдельный каталог или файлы журналов демона, вы обычно можете найти конфигурацию /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 -d /etc/logrotate.conf
будет запускаться через любые другие включенные файлы 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.status, чтобы сбросить дату «последнего поворота» в файле журнала, который вы хотите проверить.
Тогда беги logrotate YOUR_CONFIG_FILE
.
Или вы можете использовать флаг --force, но редактирование logrotate.status дает вам большую точность по сравнению с тем, что происходит, а что не поворачивается.
/var/lib/logrotate.status
файл не существует в Debian Squeeze.
Создан сценарий оболочки для решения проблемы.
http://www.ict.griffith.edu.au/anthony/software/#logrotate_one
Этот скрипт будет запускать только один файл субконфигурации logrotate, находящийся в /etc/logrotate.d, но включать глобальные настройки из файла глобальной конфигурации "/etc/logrotate.conf". Вы также можете использовать другие otpions для тестирования ...
Например...
logrotate_one -d syslog