ホームページ >バックエンド開発 >PHPチュートリアル >Linux は crontab を使用して PHP 実行プランのスケジュールされたタスクを実装します_PHP チュートリアル
まず、Linux でのスケジュールされた実行ツールである cron について話しましょう。 root 以外のユーザーは、crontab ツールを使用して cron タスクを構成できます。すべてのユーザー定義の crontab は /var/spool/cron ディレクトリに保存され、それらを作成したユーザーの ID を使用して実行されます。ユーザーとして crontab エントリを作成するには、そのユーザーとしてログインし、crontab -e コマンドを入力してユーザーの crontab を編集します。このファイルは /etc/crontab と同じ形式を使用します。 crontab への変更が保存されると、crontab ファイルはユーザー名に従って保存され、ファイル /var/spool/cron/username に書き込まれます。 cron デーモンは、/etc/crontab ファイル、etc/cron.d/ ディレクトリ、および /var/spool/cron ディレクトリの変更を毎分チェックします。変更が見つかった場合は、メモリにロードされます。こうすることで、crontab ファイルが変更されたときにデーモンを再起動する必要がなくなります。
crontabをインストールします:
yum crontab をインストールします
手順:
/sbin/service crond start //サービスを開始します
/sbin/service crond stop //サービスを閉じます
/sbin/service crond restart //サービスを再起動します
/sbin/service crond reload //設定
crontab サービスのステータスを表示: サービス cront のステータス
crontab サービスを手動で開始します: service crond start
crontab サービスが起動時に開始するように設定されているかどうかを確認し、コマンド ntsysv を実行します
起動時の自動起動を追加:
chkconfig –level 35 crond on
crontabコマンド:
機能説明: タイマーを設定します。
構文: crontab [-u ][設定ファイル] または crontab [-u ][-elr]
補足説明: cron はタイマー機能を提供する常駐サービスで、ユーザーはあらかじめ設定された命令やプログラムを特定の時間に実行できます。ユーザーがタイマー設定ファイルを編集できる限り、タイマー機能を使用することができます。設定ファイルの形式は次のとおりです:
Minute Hour Day Month DayOFWeek コマンド
パラメータ:
-e このユーザーのタイマー設定を編集します。
-l このユーザーのタイマー設定を一覧表示します。
-r このユーザーのタイマー設定を削除します。
-u タイマーを設定するユーザー名を指定します。
crontab形式:
基本フォーマット:
分、時間、日、月、週、日 コマンド
* * * * * * * *
最初の列は 1 から 59 分を表します。各分は * または */1 で表されます。
2 番目の列は 1 から 23 時を表します (0 は 0 時を表します)。
3 番目の列は 1 日から 31 日を表します。 4 列目は 1 月から 31 月を表します。 12
5 列目の識別番号は平日 0 ~ 6 (0 は日曜日を意味します)
6 列目で実行されるコマンド
「*」は値の範囲内の数値を表します、
「/」は「すべて」を表します、
「-」は特定の数値から特定の数値までを表します、
「,」は A を区切りますいくつかの離散的な数値
# +————- 分 (0 – 59)
# | +————- 時間 (0 – 23)
# |月 (1 – 31)
# | +—- 曜日 (0 – 7)
| | |
# * * * * * 実行するコマンド
crontab の例をいくつか次に示します。
(1) 最初の例。
30 21 * * * /etc/init.d/nginx restart
毎晩 21:30 に nginx を再起動します。
(2) 2 番目の例。このチュートリアルでテストする例です
* * * * * /usr/bin/php -f /root/test.php >> test.log
/root/test.php ファイルを毎分実行し、結果を test.log に出力します。
上記の基本的な作業を完了したら、crontab を使用して PHP スクリプトを定期的に実行する方法を見てみましょう:
(1) 次の内容を含む新しい test.php ファイルを /root に作成しました。
コードをコピーします
注: test.php は実行可能ファイルである必要があります: chmod +x test.php
テスト結果は正常で、スクリーンショットは次のとおりです:
もちろん、crontab -e を使用してタスクの追加を続けることもできます。/var/spool/cron にルート ファイルが表示されます。
Windows を使用して Windows で直接タスクをスケジュールし、bat を通じて Web ページを開くだけです。 Linux のようにコピーされません。