Linux
為什麼我的 CentOS logrotate 隨機執行?
我放了一個
logrotate
配置文件,/etc/logrotate.d/
並希望日誌在一致的時間輪換;但是,它們不會…日誌輪換時間似乎是隨機的 +/- 1 小時。為什麼日誌輪換開始時間是隨機的,我該如何更改?
資訊:我的 logrotate 配置文件看起來像這樣……
/opt/backups/network/*.conf { copytruncate rotate 30 daily create 644 root root dateext maxage 30 missingok notifempty compress delaycompress postrotate ## Create symbolic links in daily/ PATH=`/usr/bin/dirname $1`; FILE=`/bin/basename $1`; /bin/ln -s $1 $PATH/daily/$FILE endscript }
關鍵是要知道 CentOS 會在 /etc/cron.{daily,weekly,monthly} 中執行腳本
anacron
…/etc/anacrontab
is settingRANDOM_DELAY
,它可以滿足您的預期(它會RANDOM_DELAY
在開始工作前延遲幾分鐘)…# /etc/anacrontab: configuration file for anacron # See anacron(8) and anacrontab(5) for details. SHELL=/bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # the maximal random delay added to the base delay of the jobs RANDOM_DELAY=45 # the jobs will be started during the following hours only START_HOURS_RANGE=3-22 #period in days delay in minutes job-identifier command 1 5 cron.daily nice run-parts /etc/cron.daily 7 25 cron.weekly nice run-parts /etc/cron.weekly @monthly 45 cron.monthly nice run-parts /etc/cron.monthly
設置
RANDOM_DELAY=0
/START_HOURS_RANGE=3
修復問題…編輯
經過進一步思考,我將刪除
anacron
並安裝正常的 vixiecron
…