Nouplo

Cron uma vez por semana

É 0 0 * * 0 — domingo à meia-noite.

Os exemplos substituem temporariamente os dados e as configurações. Você pode restaurar seu trabalho anterior.

0 caracteres
cron
• • • • •
Resultado
• • • • •

  •••••••••• •••••• ••••••
  • •••••••• •••• ••••••
  • • •••••• ••• •• ••• ••••••
  • • • •••• ••• ••••••
  • • • • •• ••• •• •••••• ••••• ••••••• • •• • • •• ••••••• ••• •••••••••
  • • • • •

  ••••••• •••
    ••••••        •
    ••••          •
    ••• •• •••    •••••
    •••           •••••
    ••• •• •••••• •

  •••••••• ••••• ••••••••• •••••••• •• •••••••••••••••
    •••••••••• •••••  ••••
    •••••••••• •••••  ••••
    •••••••••• •••••  ••••
    •••••••••• •••••  ••••
    •••••••••• •••••  ••••

Seus arquivos ficam no seu dispositivo

Esta ferramenta roda inteiramente no seu navegador. O que você cola é processado no seu dispositivo e nunca é enviado a um servidor, então é seguro usar com tokens, chaves e textos não publicados.

Exemplo

Exemplo: relatório toda segunda às 8h e backup no domingo, num servidor em UTC

Uma pequena empresa quer duas tarefas semanais: o relatório de vendas, toda segunda às 8h, e o backup completo, no domingo às 3h, no horário de Brasília. O padrão desta página, “Todo domingo”, é 0 0 * * 0. Para outro dia ou hora, volte o menu para “Descrever abaixo em vez disso” e escreva em inglês.

  1. every monday at 8am dá 0 8 * * 1; every sunday at 3am dá 0 3 * * 0. O último campo é o dia da semana, de 0 = domingo a 6 = sábado.
  2. O servidor está em UTC, e Brasília fica 3 horas atrás o ano todo, sem horário de verão desde 2019: 8h em Brasília são 11h em UTC, então every monday at 11am, que dá 0 11 * * 1.
  3. O backup das 3h de domingo em Brasília roda às 6h de domingo em UTC: 0 6 * * 0. Uma tarefa às 22h de domingo em Brasília já cairia à 1h de segunda em UTC: 0 1 * * 1.
  4. “weekly” e “every week” sozinhos são recusados: falta dizer o dia e a hora.
Você escreve Cron Roda, pelo relógio do servidor
(padrão: Todo domingo) 0 0 * * 0domingo à 00:00
every monday at 8am 0 8 * * 1segunda às 08:00
every monday at 11am 0 11 * * 1segunda às 11:00 UTC, 08:00 em Brasília
every sunday at 3am 0 3 * * 0domingo às 03:00
every sunday at 6am 0 6 * * 0domingo às 06:00 UTC, 03:00 em Brasília
every friday at 6pm 0 18 * * 5sexta às 18:00
at 8am on monday and thursday 0 8 * * 1,4segunda e quinta às 08:00
weekly nenhumrecusado: palavra desconhecida

0 11 * * 1 num servidor em UTC: o relatório sai toda segunda às 8h de Brasília. Feriado não muda nada para o cron: na segunda-feira de Carnaval ele roda do mesmo jeito.

Como funciona

  1. A expressão já está aí: 0 0 * * 0. Os cinco campos abaixo são minuto, hora, dia do mês, mês e dia da semana, nessa ordem.
  2. Copie para o seu crontab, para o agendamento de CI ou para o agendador na nuvem. Os mesmos cinco campos significam a mesma coisa em todos.
  3. Para mudar, volte o menu para “Descrever abaixo em vez disso” e escreva o agendamento em inglês: “every 2 hours”, “at 5pm on weekdays”. O campo não lê frases em português; já a releitura sai em português.
  4. Confira a leitura, não a expressão. O que aparece embaixo vem de analisar o que foi montado: é o que uma máquina faria, não o que quisemos dizer.

Perguntas frequentes

O 0 é domingo ou segunda?
Domingo. No cron a semana vai de 0 = domingo a 6 = sábado, e a maioria das implementações também aceita 7 para domingo. Aqui se escreve 0, que todo mundo entende. Segunda é 1.
Funciona no GitHub Actions, no Kubernetes e nos agendadores da nuvem?
Os cinco campos, sim. O que muda é tudo em volta: alguns aceitam nomes como @daily, os CronJobs do Kubernetes usam os mesmos cinco, e o GitHub Actions atrasa execuções agendadas sob carga. Cole a expressão e confira onde ela vai rodar.
Dá para ler uma expressão que eu já tenho?
Dá, é o analisador de cron: cole a expressão e receba a explicação e as próximas execuções. É o mesmo analisador que relê aqui o que acabou de ser montado.
Posso escrever só “weekly” ou “every week”?
Não: o gerador recusa, porque falta o dia e a hora, e um palpite faria a tarefa rodar na hora errada. Escolha “Todo domingo” no menu (0 0 * * 0) ou escreva o dia e a hora, como every monday at 8am (0 8 * * 1).
Como faço para rodar em dois dias da semana?
Liste os dias no último campo, separados por vírgula: at 8am on monday and thursday dá 0 8 * * 1,4. Para um intervalo, use hífen: 1-5 é de segunda a sexta.
Alguma coisa é enviada?
Não. Montar e ler acontece nesta página. Um agendamento conta quando os seus sistemas fazem alguma coisa; nenhum servidor de terceiros precisa saber disso.

Para um uso específico

Ferramentas relacionadas