Estou tentando descobrir como executar um trabalho de crontab toda semana no domingo. Acho que o seguinte deve funcionar, mas não tenho certeza se entendi corretamente. O seguinte está correto?
5 8 * * 6
Estou tentando descobrir como executar um trabalho de crontab toda semana no domingo. Acho que o seguinte deve funcionar, mas não tenho certeza se entendi corretamente. O seguinte está correto?
5 8 * * 6
Respostas:
Aqui está uma explicação do 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
Então, de acordo com isso, você 5 8 * * 0
executaria 8:05 todo domingo.
sun, mon, tue, wed, thu, fri, or sat
para o dia. Isso também evita que você precise escolher entre usar 0
ou 7
para domingo.
Para executar um cron no domingo, você pode usar um destes:
5 8 * * 0
5 8 * * 7
5 8 * * Sun
Onde 5 8
fica a hora do dia em que isso acontecerá: 8:05.
Em geral, se você deseja executar algo no domingo, verifique se a quinta coluna contém um de 0
, 7
ou Sun
. Você tinha 6
, então estava rodando no sábado.
O formato para 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
Você sempre pode usar o crontab.guru como um editor para verificar suas expressões cron.
A seguir está o formato do arquivo crontab.
{minute} {hour} {dia do mês} {month} {dia da semana} {user} {script do caminho para o shell}
Portanto, para executar todos os domingos à meia-noite (domingo é 0, geralmente 7 em alguns casos raros):
0 0 * * 0 root /path_to_command
0 0 * * 1
.
Ao especificar seus valores cron, você precisará garantir que seus valores estejam dentro dos intervalos. Por exemplo, alguns cron usam um intervalo de 0 a 7 para o dia da semana em que 0 e 7 representam domingo. Nós não (confira abaixo).
Seconds: 0-59
Minutes: 0-59
Hours: 0-23
Day of Month: 1-31
Months: 0-11
Day of Week: 0-6
referência: https://github.com/ncb000gt/node-cron
Expressão cron de forma legível construtor crontab
Acho que você gostaria deste site interativo, que muitas vezes me ajuda a criar diretrizes complexas do Crontab: https://crontab.guru/
10 * * * dom
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.
@weekly trabalho melhor para mim!
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)