Gerador de Expressão Cron Online: Guia Completo com Exemplos

Precisa agendar uma tarefa para rodar todo dia às 3h da manhã? Ou toda segunda-feira às 9h? As expressões cron são a forma padrão de definir agendamentos em sistemas Unix/Linux, servidores, e aplicações modernas. Neste guia você aprende a sintaxe cron do zero e usa nosso gerador gratuito para criar expressões sem errar.
Gerar Expressão Cron Agora
👉 Gerador de Expressão Cron — Gratuito Online
Selecione a frequência desejada e o gerador cria a expressão automaticamente — sem precisar memorizar a sintaxe.
O Que É Cron?
Cron é um agendador de tarefas em sistemas Unix/Linux. O nome vem do grego chronos (tempo). Ele permite executar comandos ou scripts automaticamente em horários específicos.
Onde o cron é usado:
- Backups automáticos de banco de dados
- Envio de emails periódicos (relatórios, newsletters)
- Limpeza de arquivos temporários
- Sincronização de dados entre sistemas
- Renovação de certificados SSL (Let's Encrypt)
- Jobs em Node.js, Python, PHP, Ruby
- CI/CD pipelines (GitHub Actions, GitLab CI)
- Cloud functions (AWS Lambda, Google Cloud Scheduler)
Sintaxe da Expressão Cron
Uma expressão cron tem 5 campos (ou 6 com segundos):
┌───────────── minuto (0–59)
│ ┌───────────── hora (0–23)
│ │ ┌───────────── dia do mês (1–31)
│ │ │ ┌───────────── mês (1–12)
│ │ │ │ ┌───────────── dia da semana (0–7, 0 e 7 = domingo)
│ │ │ │ │
* * * * *
Caracteres Especiais
| Caractere | Significado | Exemplo |
|---|---|---|
* |
Qualquer valor | * * * * * = todo minuto |
, |
Lista de valores | 1,15 * * * * = minutos 1 e 15 |
- |
Intervalo | 1-5 * * * * = minutos 1 até 5 |
/ |
Passo/incremento | */15 * * * * = a cada 15 minutos |
? |
Sem valor específico | Usado em dia do mês ou dia da semana |
L |
Último | L em dia do mês = último dia do mês |
# |
N-ésimo dia | 2#1 = primeira segunda-feira do mês |
Exemplos Práticos de Expressões Cron
Expressões Básicas
| Expressão | Descrição |
|---|---|
* * * * * |
Todo minuto |
0 * * * * |
Todo hora (no minuto 0) |
0 0 * * * |
Todo dia à meia-noite |
0 12 * * * |
Todo dia ao meio-dia |
0 0 * * 0 |
Todo domingo à meia-noite |
0 0 1 * * |
Primeiro dia de cada mês |
0 0 1 1 * |
Primeiro dia do ano |
Expressões para Desenvolvimento
| Expressão | Descrição | Uso comum |
|---|---|---|
*/5 * * * * |
A cada 5 minutos | Polling de APIs |
*/15 * * * * |
A cada 15 minutos | Sincronização de dados |
0 */2 * * * |
A cada 2 horas | Cache refresh |
0 2 * * * |
Todo dia às 2h | Backup noturno |
0 9 * * 1-5 |
Dias úteis às 9h | Relatórios matinais |
0 0 * * 1 |
Toda segunda à meia-noite | Jobs semanais |
0 0 1,15 * * |
Dias 1 e 15 de cada mês | Relatórios quinzenais |
0 8-18 * * 1-5 |
Horário comercial, dias úteis | Monitoramento |
Expressões Avançadas
| Expressão | Descrição |
|---|---|
0 0 L * * |
Último dia do mês |
0 0 * * 5#2 |
Segunda sexta-feira do mês |
@yearly |
Uma vez por ano (= 0 0 1 1 *) |
@monthly |
Uma vez por mês (= 0 0 1 * *) |
@weekly |
Uma vez por semana (= 0 0 * * 0) |
@daily |
Uma vez por dia (= 0 0 * * *) |
@hourly |
Uma vez por hora (= 0 * * * *) |
Como Usar Cron no Linux
Editar o Crontab
# Editar crontab do usuário atual
crontab -e
# Listar crontabs ativos
crontab -l
# Remover todos os crontabs
crontab -r
Exemplo de Arquivo Crontab
# Backup do banco de dados todo dia às 2h
0 2 * * * /scripts/backup-db.sh
# Limpar logs todo domingo às 3h
0 3 * * 0 find /var/log -name "*.log" -mtime +7 -delete
# Enviar relatório toda segunda às 8h
0 8 * * 1 python3 /scripts/send-report.py
# Verificar certificados SSL a cada hora
0 * * * * certbot renew --quiet
Redirecionamento de Saída
# Salvar output em arquivo de log
0 2 * * * /scripts/backup.sh >> /var/log/backup.log 2>&1
# Descartar output (silencioso)
0 2 * * * /scripts/backup.sh > /dev/null 2>&1
Cron em Node.js
Para aplicações Node.js, use a biblioteca node-cron:
npm install node-cron
const cron = require('node-cron');
// Executar todo dia às 3h
cron.schedule('0 3 * * *', () => {
console.log('Executando backup...');
runBackup();
});
// A cada 5 minutos
cron.schedule('*/5 * * * *', () => {
syncData();
});
// Dias úteis às 9h (com timezone)
cron.schedule('0 9 * * 1-5', () => {
sendDailyReport();
}, {
timezone: 'America/Sao_Paulo'
});
Cron em Python
# Com APScheduler
from apscheduler.schedulers.blocking import BlockingScheduler
scheduler = BlockingScheduler()
@scheduler.scheduled_job('cron', hour=3, minute=0)
def backup_job():
print('Executando backup...')
run_backup()
@scheduler.scheduled_job('cron', minute='*/15')
def sync_job():
sync_data()
scheduler.start()
Cron em Serviços Cloud
GitHub Actions
on:
schedule:
- cron: '0 2 * * *' # Todo dia às 2h UTC
AWS CloudWatch Events
{
"ScheduleExpression": "cron(0 2 * * ? *)"
}
Google Cloud Scheduler
0 2 * * * # Todo dia às 2h
Erros Comuns com Cron
1. Fuso Horário
Cron usa o fuso horário do servidor — geralmente UTC. Se você está no Brasil (UTC-3), um job às 6h da manhã horário de Brasília deve ser agendado às 0 9 * * * no crontab.
# Verificar timezone do servidor
timedatectl
# Definir timezone
sudo timedatectl set-timezone America/Sao_Paulo
2. PATH não definido
Scripts cron rodam com PATH limitado. Sempre use caminhos absolutos:
# Errado
0 2 * * * python3 backup.py
# Correto
0 2 * * * /usr/bin/python3 /home/user/scripts/backup.py
3. Script sem permissão de execução
chmod +x /scripts/backup.sh
4. Variáveis de ambiente não disponíveis
# Definir variáveis no início do crontab
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=""
0 2 * * * /scripts/backup.sh
FAQ: Perguntas Frequentes sobre Cron
Qual a diferença entre 0 0 * * 0 e @weekly?
São equivalentes — ambos executam todo domingo à meia-noite. @weekly é um atalho conveniente suportado pela maioria dos sistemas modernos.
Como executar um job a cada 30 segundos?
Cron padrão não suporta segundos — a menor unidade é 1 minuto. Para sub-minuto, use */1 * * * * sleep 30 && comando ou ferramentas como node-cron que suportam 6 campos (incluindo segundos).
Como debugar um cron job que não funciona?
Redirecione a saída para um arquivo de log: 0 2 * * * /script.sh >> /tmp/cron.log 2>&1. Verifique também /var/log/syslog ou /var/log/cron para erros do cron daemon.
Posso usar cron no Windows? Windows tem o Agendador de Tarefas (Task Scheduler) como alternativa. Para sintaxe cron no Windows, use WSL (Windows Subsystem for Linux) ou ferramentas como NSSM.
O cron roda se o servidor estiver desligado no horário agendado? Não — o job é simplesmente pulado. Para garantir execução mesmo após downtime, use anacron (para tarefas diárias/semanais) ou um sistema de filas como Celery, Bull, ou BullMQ.
Conclusão
Expressões cron são uma ferramenta indispensável para qualquer desenvolvedor ou administrador de sistemas. Com a sintaxe correta e as boas práticas, você automatiza tarefas repetitivas com confiabilidade e precisão.
Dicas rápidas:
- Sempre teste com
crontab -lantes de salvar - Use caminhos absolutos em scripts
- Redirecione saída para logs
- Lembre do fuso horário (UTC vs horário local)
- Use
@daily,@weeklypara expressões mais legíveis
Artigos relacionados
GuiaEspelhar e Girar Imagem Online: Como Rotacionar e Inverter Fotos Grátis
Espelhar e Girar Imagem Online: Como Rotacionar e Inverter Fotos Grátis (2025)" description: "Espelhe horizontalmente, inverta verticalmente ou gire qualquer imagem online grátis. Sem instalação, sem cadastro — resultado em segundos no navegador.
GuiaComo Descobrir Qual Tecnologia um Site Usa: Guia Completo
Aprenda como identificar as tecnologias usadas em qualquer site — CMS, frameworks, linguagens de programação, hospedagem e muito mais. Ferramentas gratuitas e técnicas práticas.
GuiaVerificador de Portas: Domine a Segurança de Rede
Descubra como um verificador de portas pode proteger sua rede e aprenda a usá-lo adequadamente para prevenir intrusões.