Linux

為什麼我的 CentOS logrotate 隨機執行?

  • November 24, 2017

我放了一個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/anacrontabis setting RANDOM_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並安裝正常的 vixie cron

引用自:https://serverfault.com/questions/454118