ホーム > カテゴリ > サーバー構築・運用・Linux >

CRONジョブでPHPファイルを実行する [CentOS]

CentOSで各種サーバー構築(目次)

crontabsをインストールして指定した日時にPHPファイルを実行します。

1. crontabsのインストール

sudo yum install crontabs

※サービス名はcrond.serviceとなります。

2.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ログインしてから以下を行います。

# 毎日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