「月中曜日」と「曜日」のcrontabフィールドは相互に排他的ですか?

「月中曜日」と「曜日」のcrontabフィールドは相互に排他的ですか?

Artur Menilderの答えに基づいてここ、crontabの「月中日」および「曜日」フィールドは相互に排他的です。しかし、man 5 crontab(重要な場合は友達の場合)、次のように言います。

分、時間、および月のフィールドが現在の時刻と一致し、2 つの日付フィールド (月または曜日) の 1 つ以上が現在の時刻と一致する場合

それでは、次の行はバグですか、それとも/bin/true毎週水曜日と毎月の2日目に実行するように指示ですか? cronieのマニュアルページは標準的な動作を文書化しますか、それともアプリケーション固有の機能ですか?

* * 2 * 3    /bin/true

ベストアンサー1

これPOSIX標準言語で表現された仕様crontab(曖昧さを最小限に抑える目的)は、最も明確な説明を持つことができます(強調追加、明確化のために段落分割)。

日付は、日付と曜日の2つのフィールドを使用して指定できます。

月、日、曜日にすべて <アスタリスク> 文字が含まれている場合、毎日一致します。

月または月の日が要素またはリストとして指定されているが、曜日が<アスタリスク>の場合、[月と月の日]フィールドに一致する日付を指定する必要があります。

月と日の両方を<アスタリスク>として指定した場合、曜日が要素またはリストの場合は、指定された曜日のみが一致します。

ついに、月または月の日付が要素またはリストとして指定され、曜日も要素またはリストとして指定されると、その月と月の日または日に一致するすべての日が対応します。今週の試合は一致します。

これは次のことを確認します。

  1. 現在の日付が次の場合は、例の操作を実行します。誰でも水曜日または毎月第二日。

  2. これは文書化された標準動作です。

おすすめ記事