6
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

cron.dailyが実行されない、/etc/cron.d/0hourlyと/etc.anacrontabとの時間の食い違い

Last updated at Posted at 2019-01-11

centos7_cron_anacron.png

症状

CentOS Linux release 7.5.1804 (Core)
/var/log/httpd/access_log が30MBも貯まっている事に気がついた。
cron.dailyが実行されていない事により、logrotateも実行されないので各ログファイルが肥大化していた。

確認

/etc/logrotate.d/httpdの確認

/etc/logrotate.d/httpd で毎日チェックし容量が1MB以上あったらローテートし、過去ログは30世代まで残す設定になっている。

ログローテートのテストを行っても

[root@sv01 ~]# logrotate -d /etc/logrotate.d/httpd
省略
log needs rotating

と容量オーバーしてローテートが必要とでるが、実際はローテートされていない。
その他ログファイル、mysql,mail,messageなどもローテートされず、容量が肥大化していたので「logrotateコマンド自体が叩かれていないのでは?」と思う。

cronまわりの確認

以前に、収容しているウェブサービスの関係上、デフォルト設定の時間にログローテートやウイルス定義の更新などのcronが実行されてCPUを圧迫するのを避けるために、時間設定を変更したのを思い出す。

[root@sv01 ~]# vi /etc/cron.d/0hourly
45 5 * * * * root run-parts /etc/cron.hourly
[root@sv01 ~]# vi /etc/anacrontab
START_HOURS_RANGE=6-8

調べてみると
/etc/cron.daily/logrotateが実行されるまでのフローは

① /etc/cron.d/0hourly

# 05時45分に実行する
45 5 * * * * root run-parts /etc/cron.hourly

② /etc/anacrontab

省略
# 時間指定なし
/usr/sbin/anacron -s

③ /etc/cron.hourly/0anacron

# 06時~08時のだったら実行する
START_HOURS_RANGE=6-8
# cron.dailyは1日毎で遅延は5分
1       5       cron.daily              nice run-parts /etc/cron.daily

④ /etc/cron.daily/logrotate

# 時間指定なし
# logrotate実行
/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf

原因

[1] 0hourlyの時間の書き方が間違っている。*印が1つ多い。
[2] 0hourlyとanacrontabの時間が食い違っている。
①が05時45分に実行されるが、③で06時~08時と指定されているので、③で停まっており④のlogrotateまで辿りつけていなかった。

修正

/etc/cron.d/0hourlyでcron.hourlyが毎時01分に実行するように修正

01 * * * * root run-parts /etc/cron.hourly`

こうすれば結果的にlogrotateは毎日06時~08時に実行されるようになる。

logrotateを05時45分ジャストに実行する場合は
・cron.dailyの実行時間指定を0anacronで管理せずに、crontabで時間指定する。
・/etc/cron.daily/logrotateを移動させ、crontabで時間指定する。
などの方法も考えられる。
今回は05時45分以降ならいつでもいいので、/etc/cron.hourly/0anacron のSTART_HOURS_RANGEで06時~08時だったらという曖昧条件で行う。

6
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?