CRONジョブでPHPファイルを実行する [CentOS]
crontabsをインストールして指定した日時にPHPファイルを実行します。
1. crontabsのインストール
sudo yum install crontabs
※サービス名はcrond.serviceとなります。
2.PHPパスの確認
which php
※私の場合は「/usr/bin/php」でした。
3. シェルスクリプトファイル(*.sh)の作成
[cron.sh]
#!/bin/sh cd /home/ユーザー名/html/www.example.com/ /usr/bin/php /home/ユーザー名/html/www.example.com/cron_job.php exit
シェルスクリプトでcron_job.phpを実行するようにします。
cdでカレントディレクトリを移動しているのでPHPファイルで「require、require_once」を使用して別ファイルを読み込んでいても正常に動作します。
3章、4章のパスは各自の環境に合わせて下さい。また、シェルスクリプトファイル(*.sh)、 PHPファイルのパーミッションは644のままでOKです。
4. CRONジョブの編集/登録
CRONジョブはジョブを登録したユーザー毎に実行されます。
権限の関係でrootでCRONジョブを実行させる必要がある場合は「su root」でrootログインしてから以下を行います。
crontab -e
# 毎日03:30にcron.shを実行する 30 3 * * * /bin/sh /home/ユーザー名/html/www.example.com/cron/cron.sh
5. 各コマンド
// CRONジョブのリスト crontab -l // 状態 sudo systemctl status crond // 開始 sudo systemctl start crond // OS起動時に自動起動 sudo systemctl enable crond // ログ確認 sudo cat /var/log/cron
スポンサーリンク
関連記事
公開日:2019年10月01日 最終更新日:2019年11月30日
記事NO:02780