min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

fedora cronで設定した定時録画がうまくいかない

 

朝ドラ録画するのに、crontabで録画を毎朝7:55スタートで設定したのに、全然うまくいかない。というか、なんか毎日バラバラな時間に、ランダムに実行されている様子。

ーーー

/etc/cron.daily にあるファイルが自動実行されるらしい。

# vim /etc/crontab

f:id:min117:20151227071828p:plain

/etc/cron.daily には録画スクリプトを置いた。

# cd /etc/cron.daily

f:id:min117:20151227072253p:plain

しかし、できたファイルを見ると時間がおかしい。7:55 開始に設定したのに、なぜファイル作成日時が 4:51 なのか。

f:id:min117:20151227072750p:plain

ーーー

調べたら、fedoraCentOSでは、cronではなくanacronという仕組みに変わってしまっているかららしい。

技術/Linux/CentOS/CentOS6でのcron, anacron - Glamenv-Septzen.net

anacronは、実行日時にサーバの電源が入っていなかった場合に備えて、ゆるーい仕組みになっている。要は「**時から**時の間」で実行する、という設定になっていて、その時間帯に(サーバ電源が入っていなかったりが原因で)ジョブ実行された痕跡がなければ、もう一度実行する、のような幅のある仕組みのようだ。

つまり、anacronだと指定した日時での実行は期待できないらしい。勉強不足なだけかもしれないが、とにかく分かりにくい。

ーーー

直し方がここに書いてあった。

www.server-world.info

f:id:min117:20151227073701p:plain

ーーー

(anacronだと)Cronのように決まりきった時間にジョブが実行されるわけではなく

だと。目を疑う。fedora の開発チームは何を考えているのか。決まりきった時間に実行するのが大事なんじゃないか。仮に「その間にうまく実行できていなかったら再実行」したければ、それぞれのサーバ管理者が自分で考えてスクリプト組めばいいだけだ。良いものはこうやって壊されていくんだなぁ。

※ ちなみに、Debianにはanacronの仕組みは無いようで、raspberrypiに組んでるcronは、毎日決まった時間にきっちり仕事をしてくれている。

ーーー

従来通りのCronの設定に戻す。anacronは消す。

# yum -y install cronie-nonanacron

f:id:min117:20151227073621p:plain

# yum -y remove cronie-anacron

f:id:min117:20151227074250p:plain

ーーー

早速試す。

# vim /etc/crontab

run-parts が anacronらしいので、コメントアウトする。

7:55 に録画開始するスクリプトを登録。

f:id:min117:20151227075816p:plain

7:55 で録画開始されたファイルがあるか確認。

f:id:min117:20151227075933p:plain

ある。素晴らしい。やっと思い通りになった。これでDDNSの更新スクリプトも動くだろう。

fedora やめようかな。こんな開発体制じゃ心配になるぞ。