私はcron manを調べましたが、:(を助ける何かを見つけられませんでした
誰か知ってる?
トレバーが正しいにもかかわらず、私はここで別の答えを出しています。
Cron @weekly
キーワードは、彼が述べたとおりに動作します。 ただし、ほとんどのディストリビューションはrun-parts
を使用して、cronのキーワードを使用しない独自のスケジュールされたcrontabファイルを(時間、日、週、月単位で)実行します。
例、Ubuntuにはcronジョブごとに個別のファイルを含む/etc/cron.weekly
があります。
これは通常/etc/crontab
で定義されています
Ubuntuのkarmic 9.10リリースの/etc/crontab
には以下が含まれています
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
したがって、Ubuntuの毎週のcrontabは日曜日の午前6時47分に実行されます
注:crontab実装のマンページを探すときは、man 5 crontab
だけでなくman crontab
を使用する必要があります。後者は、crontabコマンドの構文のみを提供します。前者はcrontab実装の詳細を提供します。
@weeklyは次と同等です:0 0 * * 0
つまり、日曜日の00:00に実行されます。
答えはcrontab自体のマンページにあります( man 5 crontab
):
次の特別な時間指定「ニックネーム」がサポートされています。これは、5つの初期時間および日付フィールドを置き換え、先頭に「@」文字を付けます。
@reboot : Run once after reboot. @yearly : Run once a year, ie. "0 0 1 1 *". @annually : Run once a year, ie. "0 0 1 1 *". @monthly : Run once a month, ie. "0 0 1 * *". @weekly : Run once a week, ie. "0 0 * * 0". @daily : Run once a day, ie. "0 0 * * *". @hourly : Run once an hour, ie. "0 * * * *".
っていうことは 0 0 * * 0
、日曜日(平日0)である限り、00:00(任意の月の任意の日付)です。