[[さくらのVPS]]

CentOSでcronを使う方法

#contents

* cronとは? [#d3707b42]

[[crontab - WikiPedia>http://ja.wikipedia.org/wiki/Crontab]]
>crontab(クロンタブ、あるいはクローンタブ、クーロンタブとも)コマンドはUnix系OSにおいて、コマンドの定時実行のスケジュール管理を行うために用いられるコマンドである。標準入力からコマンド列を読み取り、crontabと呼ばれるファイルにそれを記録する。この記録を元に定時になると、その命令内容を読み取り、実行が行われる。
一般にcrontabコマンドで編集されたスケジュール内容は、crondデーモンにより実行される。crondはバックグラウンドで稼動し、毎分ごとに実行すべきスケジュールがないか確認し、もし実行すべきジョブがあれば、それを実行する。このジョブは「cron job」とも呼ばれる。

[[cronの設定・実行 | Linuxで自宅サーバ構築>http://linuxserver.jp/Linux/cron%E8%A8%AD%E5%AE%9A.php]]
>cronとは、決められた時刻にコマンドを定期的に実行させるためのデーモンプロセスです。
cronではコマンドだけにとどまらず、シェルスクリプトや、PerlやPHPなどのインタープリタ言語で書かれたプログラムも動作させることができます。

* crontabの設定 [#v51421ab]

** crondの動作確認 [#m6846d13]
crondが起動しているか確認
 # /etc/rc.d/init.d/crond status
 crond (pid 2559) を実行中...

さくらのVPSでは、デフォルトのゲストOS(CentOS 5.5)だと、最初からcrontabが使える。

[[さくらのVPS OSセットアップ情報 起動デーモン>http://support.sakura.ad.jp/support/vps/tips_ossetup.shtml#2]]
>初期出荷時に自動起動設定(稼働中)のデーモン
crond  	定期的にジョブを実行するためのcronサービス
/etc/init.d/crond {start|stop|status|reload|restart|condrestart}

* PHPスクリプトの定期実行 [#u22044bb]

(参考)[[cronの設定(さくらVPS)>http://blog.okumin.com/archives/2011-04-05]]

>まずphpのパスを調べておきます。
 # which php
 /usr/bin/php

>var/aaa/b.phpというファイルを毎週木曜日14時30分に実行するとします。
この場合、crontabへの記入は下記のようになります。
 # vi /etc/crontab
で直接編集しました。

 30 14 * * 4 root /usr/bin/php /var/aaa/b.php
>30 14 * * 4の部分はcronの実行時刻です。
左から
分 時 日 月 曜日の順に半角スペースで区切って入力していきます。
特に指定する必要のない項目は*を使用します。
今回の条件だと、木曜日の場合は日にちや月に関係なく作動させたいので、それらを*としておきます。
毎時間実行したい場合は、
30 * * * *
のように分だけ指定すれば1時間ごとに作動します。
月日時分は一般的な数字の記入で構わないのですが、曜日だけは若干独特です。
それぞれの曜日が
日=0 月=1 火=2 水=3 木=4 金=5 土=6
の数字に対応しています。
今回は木曜日に実行したいので、4を入力します。
30 14 * * 4
これで時間の設定は完了です。

>次に実行するユーザーを指定します。
とりあえずrootで。
30 14 * * 4 root
 
そして次に、最初に調べておいたphpのパスを入力。
30 14 * * 4 root /usr/bin/php
 
最後に実行するコマンドのパスを入力しておしまいです。
30 14 * * 4 root /usr/bin/php /var/aaa/b.php
 
これで毎週木曜日14時30分に/var/aaa/b.phpが自動で実行されます。
とても便利ですね。

- wgetでPHPスクリプトにアクセスして実行させるアイデア
[[コマンドラインからのPHP実行>http://centossrv.com/bbshtml/webpatio/2187.shtml]]
>目的のphpスクリプトへwgetするようにcronに記述するといいです。
出力は不用なので /dev/null へ破棄するとか。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS