crontabを使用して1分ごとと24時間ごとにスクリプトを実行する[終了]


316

/var/www/html/a.php毎分特定のPHPスクリプトを実行するcrontab構文が必要です。毎分実行は00:00に開始する必要があります。00:00にスクリプトを実行する必要があるもう1つのタスク/var/www/html/reset.php(24時間ごとに1回)。

回答:


586

毎分:

* * * * * /path/to/php /var/www/html/a.php

24時間ごと(深夜ごと):

0 0 * * * /path/to/php /var/www/html/reset.php

crontabのしくみについては、次のリファレンスを参照してくださいhttp ://adminschoice.com/crontab-quick-reference、およびcron jobxを構築するためのこの便利なツール:http ://www.htmlbasix.com/crontab.shtml


3
親愛なるヤン!すばらしい答えです。30秒ごとにcronを実行するのはどうですか?こんな感じですか?* * * * * / 30 / path / to / php /var/www/html/a.php?
flaab

26
残念ながら、毎分よりも頻繁にcronジョブを実行することはできません。そのためには別のものを使用する必要があります。
JanHančič

9
JanHančič、これができます。ここで説明する簡単なトリックを使用する必要があるだけです。stackoverflow.com
Ruben

cronで毎分.phpスクリプトを実行するのは通常の習慣ですか?サーバーの生産性を低下させることはできますか?他に悪い副作用はありますか?
Andrew

@flaab 30秒ごとに次のようなことを試すことができます。-* * * * * curl --silent URL> / dev / null 2>&1 * * * * * sleep 30; curl --silent URL> / dev / null 2>&1
Shashank Shah

375

これは/ etc / crontabのフォーマットです:

# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

いつでも参照できるように、それをcrontabファイルの先頭にコピー&ペーストすることをお勧めします。RedHatシステムはデフォルトでそのように設定されています。

毎分実行するには:

* * * * * username /var/www/html/a.php

毎日真夜中に何かを実行するには:

0 0 * * * username /var/www/html/reset.php

実行するコマンドに/ usr / bin / phpを含めるか、phpスクリプトを直接実行可能にすることができます。

chmod +x file.php

シェルが使用するインタープリターをシェルが認識できるように、シバンでphpファイルを開始します。

#!/usr/bin/php
<?php
// your code here

42
/etc/crontabこれは、システムの crontabファイルであるの形式です。ユーザーのcrontabは、それを提出したユーザーとして実行されるため、ユーザ名フィールドが含まれていない別の形式を持っています。root以外のユーザーとしてcronジョブを実行する場合は、crontabコマンドを使用してそれを送信する必要があります(crontabが格納されている場所を気にする必要はありません)。/etc/crontab本当に必要な場合以外は、いじらないでください。
キース・トンプソン

うーん...いや、まだ機能していません
マデオ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.