Em que dia / hora começa um cron semanal?

8

Eu dei uma olhada no cron homem, mas não encontrei nada que ajudasse :(

Ninguem sabe?

hortelã
fonte
Isso é mais adequado para superusuário, não?

Respostas:

16

Estou dando uma resposta alternativa aqui, mesmo que Trevor esteja correto.

A @weeklypalavra-chave cron faz exatamente como ele mencionou. No entanto , a maioria das distribuições usa run-partspara executar seus próprios arquivos crontab agendados (a cada hora, diariamente, semanalmente e mensalmente) que não fazem uso das palavras-chave do cron.

Por exemplo , o Ubuntu possui um /etc/cron.weeklyarquivo que contém um arquivo separado para cada cronjob.

Isso geralmente é definido em /etc/crontab

A versão karmic 9.10 do Ubuntu tem o seguinte em /etc/crontab

17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

Portanto, o crontab semanal no Ubuntu é executado às 6h07 no domingo

Nota: ao procurar páginas de manual para implementações do crontab, você deseja usar em man 5 crontabvez de apenas man crontab. Este último fornecerá apenas a sintaxe para o comando crontab. O primeiro fornece detalhes de implementação do crontab.

Philip Reynolds
fonte
Um pouco mais exigente aqui, a seção 5 nas páginas do manual é sobre formatos e convenções de arquivos, portanto, não é bem uma implementação. Ele especifica o formato do arquivo e geralmente tem exemplos
Steve Buzonas
7 é domingo? Eu pensei que 0 era domingo? (E se começou a 1, eu acho que 1 era domingo.)
felwithe
O domingo é 0 e 7, portanto, você pode escolher o que melhor se encaixa no primeiro dia da semana no seu local (segunda-feira vs. domingo).
László van den Hoek
Eu acho que isso é incorreto, então me ajudar a entender: So the weekly crontab in Ubuntu is run at 6.47am on Sunday. Isso está incorreto porque a test -x /usr/sbin/anacron ||parte do comando diz apenas para executar o material à direita de ||se "/ usr / sbin / anacron" NÃO for executável ou não existir, mas existe, portanto run-partsnunca será executado por ele cron! Em vez disso, anacrondeve estar lidando com isso, certo? A tabela de Aanacron em "/ etc / anacrontab" mostra isso semanalmente:, o 7 10 cron.weekly run-parts --report /etc/cron.weeklyque significa que o trabalho semanal é executado a cada 7 dias, com um atraso de 10 minutos.
Gabriel Staples
Mas ... não sei quando o anacron realmente funciona ou como isso determina. Você?
Gabriel Staples
8

@weekly é equivalente a: 0 0 * * 0

Então, será executado às 00:00 no domingo.

Trevor Tippins
fonte
0

A resposta está na página de manual do próprio crontab, ( man 5 crontab):

Esses "apelidos" de especificação de horário especial são suportados, que substituem os 5 campos de data e hora iniciais e são prefixados pelo caractere '@':

@reboot    :    Run once after reboot.
@yearly    :    Run once a year, ie.  "0 0 1 1 *".
@annually  :    Run once a year, ie.  "0 0 1 1 *".
@monthly   :    Run once a month, ie. "0 0 1 * *".
@weekly    :    Run once a week, ie.  "0 0 * * 0".
@daily     :    Run once a day, ie.   "0 0 * * *".
@hourly    :    Run once an hour, ie. "0 * * * *".

Portanto, 0 0 * * 0é 00:00 (em qualquer data de qualquer mês), desde que seja domingo (dia da semana 0).

mwfearnley
fonte