【cron】PHPをcronで自動実行する

  • このエントリーをはてなブックマークに追加

特にデータベース系の管理業務や、他アプリケーションとの連携などで必要になるcronでの定期実行についてです。
理屈は理解していたものの、実際に設定するとなるとちょっと調べなければいけなかったので忘備しておきます。

そもそもcron動いてる?

まずはcrond(cronデーモン?)の動作確認をば…

$ /etc/rc.d/init.d/crond status

上記コマンドで動作確認が行えるはずです。
動いていないようならば、以下のコマンドでcrondを起動します。

$ /etc/rc.d/init.d/crond start

PHPをキックしてみる

事前準備

cronからPHPを実行する場合、PHPのパス+実行したいファイルのパスが必要になります。
PHPのパスは以下のコマンドで確認してください。

$ which php

PHPのパスが確認できたので、実際にcronの設定ファイルに処理内容を記述します。

以下の書式で記述する必要があります。

分 時 日 月 曜日 [実行コマンド]

指定しない部分がある場合は「*」で埋める必要があります。
例えば、時間指定して実行する場合は以下のように記述します。

0 12 * * * [上で調べたPHPのパス] [実行したいPHPのフルパス]

これで、毎日12時になると実行されるという形です。

間隔を指定する場合や複数回実行する場合、範囲を指定することも可能です。
上記の処理を行いたい場合はドキュメントを参照してください。

cronの設定ファイルにコマンドを記述する

ターミナル上でエディタを起動して編集します。

$ crontab -e

基本的にはviエディタで開くはずですので、viエディタのコマンド等を参照して記述するようにしてください。

ということで、ざっくりですがcronでPHPを定期実行する設定方法でした。

一度設定すると、しばらく設定しなくなるものって忘れがちですよね…

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

コメントを残す

*