Como configurar um trabalho cron para executar todas as noites às 2:30? Eu sei como fazê-lo funcionar às 2, mas não às 2:30.
Como configurar um trabalho cron para executar todas as noites às 2:30? Eu sei como fazê-lo funcionar às 2, mas não às 2:30.
Respostas:
Editar:
crontab -e
Adicione esta linha de comando:
30 2 * * * /your/command
DOMÍNIO MIN DA HORA MOND DOW
MIN Minute field 0 to 59
HOUR Hour field 0 to 23
DOM Day of Month 1-31
MON Month field 1-12
DOW Day Of Week 0-6
CMD Command Any command to be executed.
Reinicie o cron com os dados mais recentes:
service crond restart
Como visto nas outras respostas, a sintaxe a ser usada é:
30 2 * * * /your/command
# ^ ^
# | hour
# minute
Seguindo o formato padrão do crontab:
+---------------- 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
Também é útil usar o crontab.guru para verificar as expressões do crontab.
As expressões são adicionadas ao crontab
uso crontab -e
. Quando terminar, salve e saia (se você estiver usando vi
, digitar :x
). A boa idéia de usar essa ferramenta é que, se você escrever um comando inválido, provavelmente receberá uma mensagem no formulário:
$ crontab -e
crontab: installing new crontab
"/tmp/crontab.tNt1NL/crontab":7: bad minute
errors in crontab file, can't install.
Do you want to retry the same edit? (y/n)
Se você tiver mais problemas com o crontab não executando, verifique a opção Depuração do crontab ou Por que o crontab não está executando meu script PHP? .
Uma maneira fácil de escrever cron é usar o gerador de cron online. Ele irá gerar a linha para você. Uma coisa a observar é que, se você deseja executá-lo todos os dias (não apenas nos dias úteis), precisa realçar todos os dias.
30 2 * * * wget https://www.yoursite.com/your_function_name
A primeira parte é para definir o cron job e a próxima parte para chamar sua função.
Como complemento às excelentes respostas acima mencionadas, verifique o https://crontab.guru/ - um recurso on-line útil para verificar sua sintaxe do crontab.
O que você recebe é uma representação legível por humanos do que você especificou.
Veja os exemplos abaixo: