さくらインターネットで、MovableTypeで構築しているサイトなのだけれども。
毎日1回、強制的に再構築している。
「今日の予定」的なものがあるので、毎日再構築しなくてはならないのだ。
が、コンテンツが多く、肥大化しているサイトで、数ヶ月分の数種類のカレンダーを再構築しているので、失敗することもたまにある。
と、当然、トップの「今日の予定」がちゃんと表示されていないわけだ。
これを検知するため、強制再構築するプラグインに、正常終了しなかったらメールを送る、という処理を足そうかとおもったのだけど、Perlで書かれているものなので、ちょっとわたし的には不得手。
それに、正常終了したかどうかの判定をどうやってするものか。
たぶん、プラグイン自体は再構築のキックしかしてなくて、処理終了まで待ってないとおもうんだよね。
なので、単純に、いくらなんでも再構築終わってるでしょな時間(強制再構築をキックしてから1時間後)に、ファイル日付と今日の日付を比較して、違っていたら「正常処理してないかもよ?」なメールを送信するようにすることにした。
すっごく単純なPHPなので、まぁさくっと作って。
手動で実行。
OK。
cronで動くよう設定。
が、待てど暮らせどメールが来ない。
なんで?
そもそもが1日1回のチェック処理なわけで、手動で動いてるんだからスクリプト的には間違えてないわけだし、本番と同じく6:00amに実行するよう設定しておいて。
あまり、喫緊な対応じゃないんで、ぼーっとしてると「あ。そういや、動いてないな」と気づくのに2〜3日かかったりして、うっかり2週間も経ってしまった。あはは。
で、今日、本気で調べてみて、ようやく動いてない理由がわかりました。
誤)/usr/local/bin/php /home/アカウント名/プログラム名
正)cd /home/アカウント名/www/programs ; /usr/local/bin/php プログラム名
んー。そっか、そっか。cdしないといけなかったかー。
解決してよかったっす。
さて。
そんなら、いまは自分だけに送ってるけど、クライアントのメールアドレスも追加して。
これでいいか確認してもらおうっと。
コメント