0

毎月第 1 日曜日にコマンドを実行するための cron 行があります。これは次のようになります。

0 19 1-7 * 0 command.sh


Minutes=0
Hours=19
Day= 1st to 7th
* = any month
0 = first day of the week (Sunday)

しかし、先週の日曜日 (6 月 16 日) に command.sh が実行されたことに驚きました。私のcron行が間違っている理由を誰かが説明できますか?

別の方法として、Wiki ページによると、「#」文字を使用して、「特定の月の「第 2 金曜日」などの構造を指定できるようにする」ことができます。これを「特定の月の最初の日曜日」に合わせる方法として利用できる例はありますか?

4

4 に答える 4

1

これを試して

0 0 1 ? 1/1 SUN#1 *

毎月第 1 日曜日の午後 1 時に実行されます

于 2013-06-18T09:09:38.410 に答える
1

スクリプトは、毎月最初の 7 日間 (1-2-3-4-5-6-7) と毎週日曜日の 19 時に実行されます。

これはあなたの場合にうまくいくはずです:

0 19 1-7 * Sun [ "$(date '+\%a')" == "Sun" ] && /some/command
于 2013-06-19T21:40:27.310 に答える