Blogブログ

PHPでクーロンみたいな事をしてみよう。

2012/12/21

クーロンとは決まった日、決まった時間に決まった処理をしたい場合、

サーバーに設定をして、自動でやってくれるシステムです。

これはサーバーの知識が無いと設定できなかったり、

そもそもレンタルサーバーでは設定すら出来ない場合があります。

どのような場面を想定するかというと、例えばデータベースのバックアップ処理などがあげられるでしょう。

1日1回バックアップをしたい。そんな場合にクーロンは向いています。

が、クーロンの設定ができない場合、手動で決まった処理をするしかないのでしょうか?

これを今回はPHPだけでそれっぽい事を自動でやってみたいと思います。

プログラムの設計

まず処理したい事をPHPに書きます。

これを do.php とします。

次に一番アクセスがあるであろう場所、大抵はトップドメイン直下になると思いますが、index.htmlならばそれをindex.phpに変更する。

http://example.com/index.phpににしてdo.phpをある条件の時に呼び出す記述を書く。

index.phpに記述する処理は、まずcron.txtを読み込む。

※cron.txtにはいつ処理が行われたかの日付の記述がしてある。

最後に処理が行われたのが今日でなければ、do.phpを呼び出しdo.phpの処理を走らせる。

do.phpの処理が終わったら、cron.txtに今日の日付を書き込む。

これだけです。

2回目以降このファイルにアクセスしてもその日に一度処理が行われていればそれ以上はdo.phpの処理は走りません。

時間の確約はされませんが、アクセスさえあれば、1日1回とか処理が走る事は約束されますので、ざっくりしとしたcronというイメージ動きます。

この日付の部分を時間にすれば1時間に1回処理を走らせるとか、

12時間に1回処理を走らせるとか時間の調節もできます。

次回はこれを具体的なソースで解説します。

他社より断然お得で使いやすい
”アクトのWEB制作”
ACTホームページ相談窓口 / 
システム開発相談窓口