cronジョブが動かなくなったら、どうする?
レンタルサーバーを使っていると、いろんなトラブルが発生する。
たとえば、設定しているcronジョブが、なぜか上手く行かなくなったりする。
昨日まで普通に動いていたのに、ある日突然、エラーが出て動かない。
WebAPIを使って自動更新されるアフィリエイトサイトをたくさん作っていると、コレは痛い。
わざわざcronジョブがたくさん設定できるサーバーを借りているというのに、肝心のcronジョブが動かないんだから、どうしようもない。
と言っても、上手く動かない理由は、なんだかよく分からない。
シェルスクリプト(.shファイル)の記述が間違っている場合もあるし、何か別の設定をいじった拍子に、上手く行かなくなったりもする。
逆に、cronジョブの設定を変更して保存し直したら、うまく行ったと言うこともある。
実際、最近、そういうことに出くわした。
あるサーバーでcronジョブがずっと止まってしまっていて、しかも何週間も続いた。
スクリプトは他のサーバーで使っているのと全く同じだし、phpファイルも共通だ。
サーバーも、同じレンタルサーバーの、別のサーバーだから、仕様も同じ。
なのに片方だけ正常に動いて、片方は動かない。
で、何かいじったら、2〜3週間後に、また普通に動くようになった。
しばらくしたら、また別のサーバーのcronジョブがエラーになって、全然動かなくなった。
原因はよく分からないが、とにかく更新をかけておかないといけない。
でも、1サイト毎に手動で更新をかけるのも、面倒くさいし。
何か良い方法はないか?
と言うことで、手動で複数のサイトを更新できるようなphpスクリプトを考えてみた。
で、色々調べて見たら、cURL関数というのが使えるらしい。
コレを使って、更新したいサイトの更新用phpプログラムを順番にキックしていく。
コレなら、自分のパソコンのphp環境からでも使えるし、別のサーバーからcronジョブで動かす事も出来る。
サイトリフレッシュ用phpの例
因みにこのphpスクリプトを作って、他のサーバーから動くように設定したら、なぜか不具合のあったサーバーのcronジョブが直った。
何だかなあ、、。
まあまた何か使いようもあるから良いが。