Linux:cron(クーロン)でphpを自動実行する

cronを使用してphpファイルを指定した時間に自動実行する方法を記載します。また、その時のcronの設定方法をメモします。
システムを作成しているとログの削除やバックアップ、データの更新などを決められた時間に実行したい場合があります。
cronを使用すると自分でphpファイルを実行しなくても指定した時間で自動実行してくれるので便利だと思います。


■ cronの設定方法

cronを設定する時の書き方は下記のように記載します。

・書式

分 時 日 月 曜日 コマンド

・設定する値

0~59の値で指定。*を指定した場合、毎分となります。
0~23の値で指定。*を指定した場合、毎時となります。
1~31の値で指定。*を指定した場合、毎日となります。
1~12の値で指定。*を指定した場合、毎月となります。
曜日 0~7の値で指定。*を指定した場合、毎日となります。
コマンド 実行するコマンドやシェルスクリプトを指定。

■ cronでphpを実行

crontabコマンドでクーロンを編集します。

# crontab -e

実行する日時を指定して、実行するphpファイルのパスを絶対パスで指定します。
phpを実行するには「/usr/bin/php 」を書き、その後にファイル名を記載します。
サーバごとに書き方が違うかもしれないので、「/usr/bin/php」か「/usr/local/bin/php」で設定します。

毎日10時に「cron.php」を実行する場合、下記のように記載します。

0 10 * * * /usr/bin/php /var/www/html/cron/cron.php

Linux:cron(クーロン)の説明とcrontabコマンドの使用方法

WEBシステムを作成・運営などをする場合、cronクーロン)を設定して、定期的なバッチ処理やデータのバックアップ、サーバの時刻合わせなど、色々な面で使用することがあります。
他にも色々な使い方がありますが、今回はcrontabコマンドの基本的な使用方法をメモします。


cron(クーロン)について

クーロンとは設定した内容を定期的に実行するための機能です。
実行したい時間と内容を記述し、定期的にスクリプトや、コマンドなどを自動実行します。
cronを利用する場合は、サーバにcrondが動作している必要があり、通常はLinuxでは自動的にcrondが稼働するように設定されているようです。
クーロンは、運営サイトのバッチ処理やバックアップなどを定期的に処理することができるのでとても便利な機能です。


crontabコマンド

コマンドやバッチ処理を指定した時間に自動実行します。crontabはviの操作方法で設定します。
書式は以下のようになります。

crontab [-u ユーザー名] [オプション]

※crontabで作成した設定内容は/var/spool/cron/に作成したユーザー名で保存されます。

■ crontabのオプション

-u ユーザー名 他のユーザーのcrontabを設定する場合に指定します。rootユーザのみ使用できます。
また、-uオプションは省略可能です。省略した場合は現在のユーザーで設定されます。
-e crontabの編集をします。
-l crontabの内容を表示します。
-r crontabの内容を削除します。全ての設定が削除されるので注意が必要です。

※オプションの-rはcrontabの設定内容を全て削除してしまうので、-eで設定する際にキーボードの隣のキーなので注意が必要です。

■ crontabの使用方法

crontabの編集をする場合

# crontab -e

ユーザーを指定して編集する場合

# crontab -u hoge -e

crontabの設定を表示する場合

# crontab -l

ユーザーを指定してcrontabの設定を表示する場合

# crontab -u hoge -l

crontabの設定を削除する場合
※全ての設定が削除されるので設定を削除する場合は-eで削除する方がいいと思います。

# crontab -r

ユーザーを指定してcrontabの設定を削除する場合

# crontab -u hoge -r