dicedの自動実行手順変更(cron経由)

ポート解放間違いなどのトラブルはあったものの、今のところ無事に動作しているうちのサーバちゃん(WordPressのヘルスケア問題は除きますが)。
と思っていたら・・・。

僕が使っているDDNSサービス『mydns.jp』から1週間ごとにメールが届くようになりました。もちろん内容は「DNSの更新が行われていない」というものです。
DNS更新にはdiceを使っており、これが時々更新に失敗することがあるのでこのメール自体は別に珍しいものではないのですが、こう立て続けに来るのは少し変です。

そこで

# ps ax | grep diced

してみたところ、/usr/loca/bin/DiCE/dicedが起動していないことが判明。これは/etc/rc.localに記述してあるので、サーバを再起動した際に必ず自動的に読み込まれて実行されるはずです。
それが実行されていないのはなぜだ?

で調べてみたところ、/etc/rc.localに実行権限をつけないとだめらしいことが判明!
CentOS 6.xではそんなことはなかったのになぁ・・・??
ただ、よく考えてみれば定期的に自動実行させる仕組みにcromがあり、NTP同期や先日行ったhttpsの証明書更新などはすべてcronで行っているのだから、diceだってcronにまとめておいた方が管理しやすいのでは?

というわけでこれも調べてみたところ、dicedコマンドにオプションとして「-e番号」を指定してやればいいようです(イベント番号が1番なら「diced -e1」と記述する)。
早速コマンドラインで実行し、更新されることを確認しました。あとはこのコマンドをcrontab -eで書き足してやればOKですね!

ところでmydns.jpでは最長で7日毎にDNSを更新しなければなりませんので(8日過ぎるとメールが来る)、cronには毎週更新する曜日を指定すれば事足りるのですが、なんとなくもう少しだけ更新間隔を縮めておいた方が気持ち的に安心(?)なので、5日毎に更新するように設定しました(間隔が短過ぎるのも負荷がかかりすぎてダメらしい)。

この投稿は7日ですが、すると次の直近の更新は11日に行われるはず。うまくいくといいけれど・・・(^ ^;;

+1

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)