毎週のcronは何時に始まりますか?


8

私はcron manを調べましたが、:(に役立つものは何も見つかりませんでした

誰か知ってる?


これはスーパーユーザーにより適していますね?

回答:


16

トレバーが正しいにもかかわらず、私はここで別の答えを出しています。

cron @weeklyキーワードは、彼が述べたとおりに機能します。ただし、ほとんどのディストリビューションrun-partsは、cronのキーワードを使用しない独自のスケジュールされたcrontabファイル(毎時、毎日、毎週、毎月)を実行するために使用します。

たとえば、Ubuntuには、/etc/cron.weeklycronジョブごとに個別のファイルを含むがあります。

これは一般に /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実装の詳細を提供します。


ここでは少し気難しい点があります。manページのセクション5はファイル形式と規則のためのものであり、完全な実装ではありません。ファイル形式を指定し、多くの場合例を示します
Steve Buzonas

7は日曜日ですか?日曜日だと思いましたか?(そして、それが1から始まった場合、1は日曜日だったと思います。)
felwithe

@felwithe日曜日は0と7の両方なので、ロケールの週の最初の日(月曜日と日曜日)に最も合うものを選択できます。
ラースローファンデンホーク

これは間違っていると思うので、理解してくださいSo the weekly crontab in Ubuntu is run at 6.47am on Sunday。これは間違っているtest -x /usr/sbin/anacron ||コマンドの一部は、ONLYの右側にあるものを実行するために言う||ならば「は/ usr / sbinに/ anacronの」実行可能ではないか、または存在していない、まだそれはので、ないrun-parts実際によって実行されることはありませんcron!むしろ、anacronそれを処理する必要がありますよね?"/ etc / anacrontab"のAanacronの表は、これを毎週示しています:7 10 cron.weekly run-parts --report /etc/cron.weeklyこれは、毎週のジョブが7日ごとに実行され、10分の遅延があることを意味します。
ガブリエルステープルズ

しかし...私はanacronが実際にいつ実行されるか、それがどのようにそれを決定するのかわかりません。あなたは?
ガブリエルステープルズ


0

答えは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(任意の月の任意の日付)です。

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