Sto cercando di capire come eseguire un lavoro crontab ogni settimana di domenica. Penso che dovrebbe funzionare quanto segue, ma non sono sicuro di aver capito bene. Il seguente è corretto?
5 8 * * 6
Sto cercando di capire come eseguire un lavoro crontab ogni settimana di domenica. Penso che dovrebbe funzionare quanto segue, ma non sono sicuro di aver capito bene. Il seguente è corretto?
5 8 * * 6
Risposte:
Ecco una spiegazione del formato crontab.
# 1. Entry: Minute when the process will be started [0-60]
# 2. Entry: Hour when the process will be started [0-23]
# 3. Entry: Day of the month when the process will be started [1-28/29/30/31]
# 4. Entry: Month of the year when the process will be started [1-12]
# 5. Entry: Weekday when the process will be started [0-6] [0 is Sunday]
#
# all x min = */x
Quindi, in base a questo, la 5 8 * * 0
domenica verrebbero 8:05.
sun, mon, tue, wed, thu, fri, or sat
per il giorno. Questo ti evita anche di dover scegliere tra l'utilizzo 0
o la 7
domenica.
Per avere un cron eseguito domenica puoi usare uno di questi:
5 8 * * 0
5 8 * * 7
5 8 * * Sun
Dove 5 8
sta per l'ora del giorno in cui ciò accadrà: 8:05.
In generale, se vuoi eseguire qualcosa di domenica, assicurati solo che la quinta colonna contenga una delle 0
, 7
o Sun
. L'hai fatto 6
, quindi sabato stava funzionando.
Il formato per cronjobs è:
+---------------- minute (0 - 59)
| +------------- hour (0 - 23)
| | +---------- day of month (1 - 31)
| | | +------- month (1 - 12)
| | | | +---- day of week (0 - 6) (Sunday=0 or 7)
| | | | |
* * * * * command to be executed
Puoi sempre usare crontab.guru come editor per controllare le tue espressioni cron.
Di seguito è riportato il formato del file crontab.
{minute} {ora} {giorno del mese} {mese} {giorno della settimana} {utente} {path-to-shell-script}
Quindi, per correre ogni domenica a mezzanotte (la domenica è di solito 0, 7 in alcuni rari casi):
0 0 * * 0 root /path_to_command
0 0 * * 1
.
Quando si specificano i valori cron, è necessario assicurarsi che i valori rientrino negli intervalli. Ad esempio, alcuni cron usano un intervallo 0-7 per il giorno della settimana in cui sia 0 che 7 rappresentano la domenica. Non lo facciamo (controlla sotto).
Seconds: 0-59
Minutes: 0-59
Hours: 0-23
Day of Month: 1-31
Months: 0-11
Day of Week: 0-6
riferimento: https://github.com/ncb000gt/node-cron
Cron espressione del lavoro in modo leggibile dall'uomo builder crontab
Penso che ti piacerebbe questo sito interattivo, che spesso mi aiuta a costruire complesse direttive Crontab: https://crontab.guru/
10 * * * Sole
Position 1 for minutes, allowed values are 1-60
position 2 for hours, allowed values are 1-24
position 3 for day of month ,allowed values are 1-31
position 4 for month ,allowed values are 1-12
position 5 for day of week ,allowed values are 1-7 or and the day starts at Monday.
@settimanale lavora meglio per me!
example,add the fellowing crontab -e ,it will work in every sunday 0:00 AM
@weekly /root/fd/databasebackup/week.sh >> ~/test.txt
* * * * 0
you can use above cron job to run on every week on sunday, but in addition on what time you want to run this job for that you can follow below concept :
* * * * * Command_to_execute
- � � � -
| | | | |
| | | | +�� Day of week (0�6) (Sunday=0) or Sun, Mon, Tue,...
| | | +���- Month (1�12) or Jan, Feb,...
| | +����-� Day of month (1�31)
| +������� Hour (0�23)
+��������- Minute (0�59)