cron eseguendo due volte in base al giorno della settimana


1

Ho una domanda. Abbiamo un cron job eseguito il 15 di questo mese:

min hr day month day_of_week
35  13 15  6     6

Tuttavia, è stato eseguito nuovamente il 22 giugno (che era il 6 ° giorno della settimana). Il day_of_week avrebbe la precedenza sul giorno e sul mese già impostati in precedenza?

Risposte:


3

Mentre normalmente il lavoro viene eseguito quando i campi delle specifiche di ora / data corrispondono tutti all'ora e alla data correnti, esiste un'eccezione: se sia "giorno del mese" che "giorno della settimana" sono limitati (non "*"), allora il campo "giorno del mese" (3) o il campo "giorno della settimana" (5) devono corrispondere al giorno corrente

https://en.wikipedia.org/wiki/Cron

Quindi succede solo a giugno, alle 13:35. Inoltre, deve essere il 15 giugno o il 6 ° giorno della settimana. Entrambi funzioneranno contemporaneamente.

In esecuzione man 5 crontabti fornirà alcune informazioni aggiuntive, ti consigliamo di utilizzare testper specificare una data specifica e limitare il giorno della settimana:

Nota: il giorno dell'esecuzione di un comando può essere specificato da due campi: giorno del mese e giorno della settimana. Se entrambi i campi sono limitati (ovvero non lo sono *), il comando verrà eseguito quando uno dei campi corrisponde all'ora corrente. Ad esempio, `` 30 4 1,15 * 5 '' causerebbe l'esecuzione di un comando alle 4:30 del mattino il 1 ° e il 15 di ogni mese, più ogni venerdì. Tuttavia, è possibile ottenere il risultato desiderato aggiungendo un test al comando (vedere l'ultimo esempio in FILE CRON ESEMPIO di seguito).

[...]

# Run on every second Saturday of the month
0 4 8-14 * *    test $(date +\%u) -eq 6 && echo "2nd Saturday"

Quindi pensi di dare l'installazione, è possibile ripetere il cron? Poiché il giorno del mese e il giorno della settimana sono entrambi limitati, funzionerebbe in una delle date.
brooding_goat,

Sì. Funzionerà di nuovo il 29.06.2013 13:35, perché soddisferà i requisiti di minuto, ora, mese e giorno della settimana.
Squeezy,

Grazie. Quindi, come possiamo dire che viene eseguito solo il 15 del mese. Mettiamo * per il giorno della settimana?
brooding_goat,

Sì. Se vuoi eseguirlo il 15 di QUALSIASI mese, non solo giugno, metti anche * per mese.
Squeezy,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.