
Estou tentando escrever uma programação cron para executar um trabalho na quinta-feira antes da segunda segunda-feira do mês. Até agora eu tenho isso
0 0 8 ? * MON#2
Mas isso acontece na segunda segunda-feira do mês. Existe uma maneira de voltar quatro dias daquela época até a quinta-feira anterior?
Por exemplo, para setembro de 2016, a segunda segunda-feira do mês é o dia 12 do mês. Então, eu gostaria de agendar isso para acontecer na quinta-feira anterior, que seria o dia 8 de cada mês.
Responder1
Eu não acho que você possa fazer isso no cron. Talvez 0 0 * * 4
você deva executar um script toda quinta-feira e nesse script você pode verificar se é quinta-feira antes da segunda segunda-feira do mês.
Responder2
0 0 * * 4 [ $(date +\%d) -ge 4 -a $(date +\%d) -le 10 ] && run-script
Execute uma entrada crontab às quintas-feiras (aqui, meia-noite de qualquer dia do mês e de qualquer mês) que use test ( [
) e date
veja se o dia do mês é 4..10 inclusive. Nesse caso, execute o script que desejar.