Можно ли запустить одну проверку logrotate вручную?
можно ли запустить одну итерацию logrotate вручную, не планируя ее на некотором интервале?
8 ответов
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:
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.статус для сброса даты "последнего поворота" в файле журнала, который вы хотите протестировать.
затем запустите logrotate YOUR_CONFIG_FILE
.
или вы можете использовать флаг --force, но редактировать logrotate.статус дает вам больше точности над тем, что делает и не поворачивается.
создал сценарий оболочки для решения проблемы.
http://www.ict.griffith.edu.au/anthony/software/#logrotate_one
этот скрипт будет запускать только один файл конфигурации logrotate, найденный в " /etc/logrotate.d", но включите глобальные параметры из глобального файла конфигурации " /etc / logrotate.conf". Вы также можете использовать другие otpions для тестирования...
например...
logrotate_one -d syslog