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.
- cron
- • • • • •
• • • • •
•••••••••• •••••• ••••••
• •••••••• •••• ••••••
• • •••••• ••• •• ••• ••••••
• • • •••• ••• ••••••
• • • • •• ••• •• •••••• ••••• ••••••• • •• • • •• ••••••• ••• •••••••••
• • • • •
••••••• •••
•••••• •
•••• •
••• •• ••• •••••
••• •••••
••• •• •••••• •
•••••••• ••••• ••••••••• •••••••• •• •••••••••••••••
•••••••••• ••••• ••••
•••••••••• ••••• ••••
•••••••••• ••••• ••••
•••••••••• ••••• ••••
•••••••••• ••••• ••••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.
- 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.
- 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.
- 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.
- “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 * * 0 | domingo à 00:00 |
| every monday at 8am | 0 8 * * 1 | segunda às 08:00 |
| every monday at 11am | 0 11 * * 1 | segunda às 11:00 UTC, 08:00 em Brasília |
| every sunday at 3am | 0 3 * * 0 | domingo às 03:00 |
| every sunday at 6am | 0 6 * * 0 | domingo às 06:00 UTC, 03:00 em Brasília |
| every friday at 6pm | 0 18 * * 5 | sexta às 18:00 |
| at 8am on monday and thursday | 0 8 * * 1,4 | segunda e quinta às 08:00 |
| weekly | nenhum | recusado: 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
- 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.
- 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.
- 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.
- 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.