ホームページ >バックエンド開発 >PHPチュートリアル >php+crontabのスケジュールされたタスク -- 完全版
PHP+crontab のスケジュールタスク、ネット上の様々な情報を読んでいると、いつも言っていることを言っており、読んで理解できる記事がありません。概要は次のとおりです:
、如如如现现现现现现现现现现现现现现
editor editorこれが最も重要です。これは最も重要です。 -L // 特定のユーザーの cron サービスの詳細な内容をリストします。 // これも重要です。どのようなスケジュールされたタスクを作成したかを確認してください
crontab -u // 特定のユーザーの cron サービスを設定します。通常、これは root ユーザーに必要です。このコマンドを実行するときのパラメータ
crontab - r //ユーザーの cron サービスを削除します
時間に関するルールの記述:
最初の 5 つのフィールドは次を表します:
分: 0-59
時間: 1-23
日付: 1-31
月: 1 -12
平日: 0-6 (0 は日曜日を意味します)
いくつかの特殊記号も使用できます:
*: いつでもを示します
,,: 分割を示します
-: などのセグメントを示しますSecond end: 1-5 、1時から5時を意味します
/n: nの各単位が1回実行されることを示します。 たとえば、2番目の段落の*/1は、コマンドが1時間ごとに実行されることを意味します。 1-23/1 と書くこともできます
2. 書いた後に cron を再起動します:
sudo service cron restart または /etc/init.d/cron restart
3. Yii で cron を使用する場合:
に焦点を当てます。 3つのポイント:
A/ protected/config/console.php --> 内のdbコメント部分を開きます
B/ 独自のコマンドを構築/TestCommand.phpC/ yiic.phpの参照アドレスの設定、詳細は補足を参照してください
成功した例を書いてください:
*/1 * * * * php /home/user_name/sites/project_name/yiicmd.php test 'datetime'
siteはユーザーの下のphp実行ディレクトリですname、project_name はプロジェクト名です。 yiicmd.php は自分で書いたファイルで、保護された yiic.php と同じですが、yii の参照パスを変更する必要があります~
cron に関する追加情報:
cron の実際の保存アドレス: のようですetc cron.daily cron.hourly crontab の下に cron.d があるように、非常に多くの crontab ファイルがありますが、実際には:
Linux:/var/spool/cron // crontab -l を使用して、表示されているファイルを開きます。それだけです
freebsd:/var/cron /tabs
yiic はデフォルトでは単なる php ファイルであり、php コマンドで実行する必要があります: php yiic または php yiic.php
また、 chmod +x yiic コマンドを使用して、yiic を実行可能に直接変更します。 cd protected と直接入力し、「yiic help」と書くことができます。
参考資料:
http://www.yiiframework.com/extension/yii-crontab/ //yiicmd.php の場所は関係なく、配置に注意することが重要です。 。このプラグインはcrontabに書き込めないのでほとんど役に立ちません。各種ファイルの書き込み権限を変更するのが面倒です。
http://linux.chinaitlab.com/unix/795992.html詳細
5分ごとに実行 */5 * * * *
1時間ごとに実行 0 * * * *毎日実行 0 0 * * *
毎週実行 0 0 * * 0
毎月実行 0 0 1 * *
毎年実行 0 0 1 1 *