web-dev-qa-db-ja.com

特定の時間にのみ毎分cronジョブを実行しますか?

特定の時間にのみ、毎分cronジョブをどのように実行しますか?そのようです:

午前11時から午前12時、午後4時から午後5時、および午後9時から午後10時まで毎分チェックするだけです。

どこから始めればいいのかわからないので、複雑そうです。

21
Jürgen Paul

適切なソリューション:

* 11,16,21 * * *

以前のソリューションを使用する場合:

0-59 11-12,16-17,21-22 * * * *

ジョブは12:40または17:59に開始されます。午前11時から午前12時、午後4時から午後5時、および午後9時から午後10時の範囲ではありません。

UPDATE:

従来の(Unixから継承された)cron形式は、空白で区切られた5つのフィールドで構成されています。

*    *    *    *    *  command to be executed
┬    ┬    ┬    ┬    ┬
│    │    │    │    │
│    │    │    │    │
│    │    │    │    └───── day of week (0 - 6) (0 is Sunday, or use names)
│    │    │    └────────── month (1 - 12)
│    │    └─────────────── day of month (1 - 31)
│    └──────────────────── hour (0 - 23)
└───────────────────────── min (0 - 59)

nnCron は、追加の(6番目の)フィールドであるcron形式の従来のバージョンと「拡張」バージョンの両方を使用できます。年。

48
Vadim Baryshev

cron形式 のとおり

<Minute> <Hour> <Day_of_the_Month> <Month_of_the_Year> <Day_of_the_Week> <Year>

* * * * * *
| | | | | | 
| | | | | +-- Year              (range: 1900-3000)
| | | | +---- Day of the Week   (range: 1-7, 1 standing for Monday)
| | | +------ Month of the Year (range: 1-12)
| | +-------- Day of the Month  (range: 1-31)
| +---------- Hour              (range: 0-23)
+------------ Minute            (range: 0-59)

解決策は

* 11,16,21 * * * *
6
Bharat Sinha