Crontab e dayofweek

4

Estou tentando configurar um cron job que é executado uma vez por semana no domingo. Acho que devo usar a posição "dayofweek" com o valor 0, mas não tenho certeza se isso substitui o "*" pela posição do dia.

45 2 * * 0 /scripts/backup.sh

Isso está correto?

    
por typeoneerror 01.11.2009 / 19:14

2 respostas

10

Você está correto, como já foi relatado.

Esteja ciente de que os trabalhos programados para 02:45 aos domingos não serão realizados no domingo, na primavera, quando os relógios avançarem (e os trabalhos programados para 01:45 aos domingos serão realizados duas vezes no domingo, no outono ) quando os relógios caem para trás). Corolário: não programe trabalhos na janela 01: 00-03: 00, se você puder executá-los quando os relógios mudarem entre o inverno e o verão (horário padrão e horário de verão).

Lembre-se também de que você não pode executar trabalhos no primeiro dia de domingo, adicionando um "1" à terceira coluna (dia). Se você escrever:

45 2 1 * 0 /scripts/backup.sh

o comando será executado no primeiro dia de cada mês, independentemente do dia e aos domingos, independentemente do dia do mês. Contra intuitivamente, a coluna do dia da semana é OR com as outras condições explícitas, em vez de AND'd. Eu aprendi isso da maneira mais difícil - fazendo um tolo público de mim mesmo. Veja a especificação POSIX para 'crontab', que requer dia 0 = domingo e não permite dia 7 como sinônimo.

    
por 01.11.2009 / 20:30
4

Está correto. Esse trabalho será executado às 2:45 da manhã todos os domingos.

    
por 01.11.2009 / 19:23

Tags