cron executando duas vezes com base no dia da semana

1

Eu tenho uma pergunta. Temos um cron job que foi executado no dia 15 deste mês:

min hr day month day_of_week
35  13 15  6     6

No entanto, ele foi executado novamente em 22 de junho (que era o sexto dia da semana). Será que o day_of_week terá precedência sobre o dia & mês que já foi definido antes?

    
por brooding_goat 24.06.2013 / 23:11

1 resposta

3

While normally the job is executed when the time/date specification fields all match the current time and date, there is one exception: if both "day of month" and "day of week" are restricted (not "*"), then either the "day of month" field (3) or the "day of week" field (5) must match the current day

link

Por isso, acontece apenas em junho, às 13:35. Além disso, ele precisa ser no dia 15 de junho ou no sexto dia da semana. Ambas ao mesmo tempo funcionarão também.

A execução de man 5 crontab fornecerá algumas informações adicionais. Recomendamos que você use test para especificar os dois uma data específica e restringir o dia da semana:

Note: The day of a command's execution can be specified by two fields — day of month, and day of week. If both fields are restricted (i.e., aren't *), the command will be run when either field matches the current time. For example, ''30 4 1,15 * 5'' would cause a command to be run at 4:30 am on the 1st and 15th of each month, plus every Friday. One can, however, achieve the desired result by adding a test to the command (see the last example in EXAMPLE CRON FILE below).

[...]

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

Tags