⏰ Gerador de Expressões Cron
O Gerador Cron do TextSorter é uma ferramenta gratuita para desenvolvedores que permite criar agendamentos cron visualmente e visualizar as próximas execuções
Entendendo a Sintaxe das Expressões Cron
Uma expressão cron é uma sequência compacta que informa a um agendador exatamente quando executar uma tarefa. O formato padrão usado em Linux, macOS e na maioria das plataformas em nuvem é composto por cinco campos separados por espaços. Cada campo controla uma unidade de tempo diferente, e juntos definem um agendamento recorrente preciso.
Os Cinco Campos
| Campo | Valores Permitidos | Descrição |
|---|---|---|
| Minuto | 0 a 59 | O minuto da hora em que a tarefa é disparada |
| Hora | 0 a 23 | A hora do dia no formato de 24 horas |
| Dia do Mês | 1 a 31 | O dia do calendário dentro do mês |
| Mês | 1 a 12 | O mês do ano (jan = 1, dez = 12) |
| Dia da Semana | 0 a 6 | O dia da semana (domingo = 0, sábado = 6) |
Caracteres Especiais
- Asterisco (*) corresponde a qualquer valor possível daquele campo. Por exemplo,
*no campo das horas significa "toda hora." - Vírgula (,) separa uma lista de valores específicos. Escrever
1,15no campo do dia do mês significa "no dia 1 e no dia 15." - Hífen (-) define um intervalo inclusivo.
9-17no campo das horas significa "toda hora entre 9h e 17h." - Barra (/) especifica um intervalo de passo.
*/10no campo dos minutos significa "a cada 10 minutos" (0, 10, 20, 30, 40, 50).
Combinando esses caracteres, você pode expressar praticamente qualquer agendamento recorrente, de intervalos simples a padrões complexos de vários dias. Dominar essa sintaxe é a base para automatizar tarefas de forma confiável em servidores, contêineres e serviços em nuvem.
Cron no Linux, Unix e macOS
O daemon cron é um pilar da automação de tarefas em sistemas operacionais do tipo Unix desde a década de 1970. Nas distribuições Linux modernas e no macOS, o cron é executado como um serviço em segundo plano que acorda a cada minuto, lê o arquivo crontab de cada usuário e executa qualquer tarefa cujo agendamento coincida com o horário atual.
Gerenciando sua Crontab
A interação com o cron é feita pelo comando crontab. Execute crontab -e para abrir sua crontab pessoal em um editor de texto. Cada linha segue o padrão minuto hora dia-do-mês mês dia-da-semana comando. Depois de salvar e fechar o arquivo, o cron aplica as mudanças automaticamente.
crontab -llista todas as tarefas da sua crontab atualcrontab -eabre a crontab para ediçãocrontab -rremove toda a sua crontab (use com cuidado)
Armadilhas Comuns
Um dos problemas mais frequentes com tarefas cron são as diferenças de ambiente. O cron executa comandos em um ambiente de shell mínimo, de modo que caminhos e variáveis nos quais você confia no terminal interativo podem não estar disponíveis. Sempre use caminhos absolutos para executáveis e scripts dentro das entradas da crontab. Outro erro comum é esquecer de redirecionar a saída: por padrão, o cron envia por e-mail qualquer saída padrão ou de erro ao usuário, o que pode lotar silenciosamente as filas de e-mail. Redirecione a saída para um arquivo de registro ou para /dev/null caso não precise dela.
A consciência sobre fuso horário também é importante. O cron avalia os agendamentos de acordo com o relógio do sistema. Se o seu servidor estiver configurado em UTC, mas você quiser que uma tarefa seja executada às 9h no horário do leste dos EUA, você precisa calcular o equivalente em UTC ou configurar a variável CRON_TZ (compatível em alguns sistemas). No macOS, o launchd é o agendador preferido, mas o cron continua totalmente funcional e é amplamente usado para tarefas de agendamento rápidas e simples.
Padrões e Exemplos Comuns de Cron
Embora a sintaxe cron seja flexível o suficiente para expressar quase qualquer agendamento, a maioria dos casos de uso reais se encaixa em um punhado de padrões comuns. Manter uma referência desses padrões economiza tempo e evita erros ao configurar novas tarefas.
Agendamentos Usados com Frequência
* * * * *executa a cada minuto. Útil para verificações de integridade, workers de filas ou scripts de monitoramento que precisam rodar quase em tempo real.*/5 * * * *executa a cada cinco minutos. Um intervalo popular para sincronizar dados entre sistemas, atualizar caches ou consultar APIs externas.0 * * * *executa uma vez por hora, na hora cheia. Ótimo para relatórios horários, rotação de logs ou tarefas periódicas de limpeza.0 0 * * *executa à meia-noite todos os dias. A escolha clássica para backups noturnos, manutenção de banco de dados e e-mails de resumo diário.0 9 * * 1-5executa às 9h em todo dia útil (de segunda a sexta). Perfeito para automações do horário comercial, como lembretes diários de reunião ou relatórios matinais.0 0 1 * *executa à meia-noite no primeiro dia de cada mês. Ideal para ciclos de faturamento mensais, geração de relatórios ou verificações de renovação de certificados.0 0 * * 0executa à meia-noite todo domingo. Uma boa escolha para janelas de manutenção semanais, backups completos ou e-mails de resumo semanal.
Combinando Padrões
Você pode combinar caracteres especiais para criar agendamentos mais específicos. Por exemplo, 30 6,18 * * * dispara às 6h30 e às 18h30 todos os dias, enquanto 0 9-17 * * 1-5 executa a cada hora entre 9h e 17h somente nos dias úteis. A vírgula e o operador de intervalo são especialmente poderosos quando usados juntos, permitindo agendamentos como "a cada 15 minutos durante o horário comercial no dia 1 e no dia 15 de cada mês."
Ao criar expressões complexas, sempre verifique-as com uma ferramenta como este gerador. Um valor mal posicionado pode fazer com que uma tarefa seja executada com muito mais frequência do que o previsto, o que pode sobrecarregar seu sistema ou duplicar operações. Testar as próximas cinco execuções dá a você confiança imediata de que o agendamento corresponde às suas expectativas.
Cron em Serviços de Nuvem e Plataformas Modernas
As expressões cron cresceram além de suas origens no Unix e hoje são uma interface padrão para agendamento nos principais provedores de nuvem e frameworks de aplicações modernos. Entender como cada plataforma implementa um agendamento do tipo cron ajuda você a escolher a ferramenta certa para sua infraestrutura.
AWS EventBridge (CloudWatch Events)
A Amazon Web Services usa expressões cron no EventBridge Scheduler (antes CloudWatch Events) para disparar funções Lambda, Step Functions e outros serviços da AWS conforme um agendamento. A AWS estende o formato padrão de cinco campos para seis campos adicionando um campo de ano e aceita um curinga ? para o dia do mês ou o dia da semana quando o outro campo é especificado. Por exemplo, cron(0 12 ? * MON-FRI *) dispara ao meio-dia UTC em todo dia útil. O EventBridge também oferece uma sintaxe rate() mais simples para intervalos básicos como rate(5 minutes).
Google Cloud Scheduler
O Google Cloud Scheduler aceita expressões cron padrão do Unix e adiciona suporte a fuso horário diretamente na configuração da tarefa. Você especifica tanto uma expressão cron quanto um fuso horário de destino (como "America/New_York"), e o agendador trata as transições de horário de verão automaticamente. Os destinos podem ser endpoints HTTP, tópicos Pub/Sub ou serviços do App Engine.
Azure Functions e Logic Apps
A Microsoft Azure usa expressões NCRONTAB nos gatilhos de temporizador do Azure Functions. Elas são compostas por seis campos (os segundos são adicionados como primeiro campo): {second} {minute} {hour} {day} {month} {day-of-week}. O Azure Logic Apps também aceita gatilhos de recorrência configurados por padrões do tipo cron na definição do fluxo de trabalho.
CronJobs do Kubernetes
O Kubernetes oferece um recurso nativo de CronJob que usa expressões cron padrão de cinco campos para agendar cargas de trabalho em contêineres. O controlador de CronJob cria um novo objeto Job em cada horário agendado, e você pode configurar políticas de concorrência, limites de histórico e tolerâncias de prazo. Essa é a abordagem preferida para processamento em lote periódico em ambientes de orquestração de contêineres.
Independentemente da plataforma, a sintaxe cron básica permanece consistente. Dominar o formato de cinco campos abordado nesta página prepara você para trabalhar com agendamento em qualquer sistema, de um único servidor Linux a uma arquitetura multinuvem global.
🔒 100% Privado e Gratuito
Toda a criação de expressões cron e a visualização dos agendamentos acontecem inteiramente no seu navegador. Nenhum dado jamais sai do seu dispositivo. Sem processamento em servidor, sem registro, sem necessidade de cadastro.