Todos os artigos
Guia

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

NetVizor Team March 29, 2026
Gerador de Expressão Cron Online: Guia Completo com Exemplos
#cron #agendamento #Linux #Node.js #tutoriais

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 -l antes de salvar
  • Use caminhos absolutos em scripts
  • Redirecione saída para logs
  • Lembre do fuso horário (UTC vs horário local)
  • Use @daily, @weekly para expressões mais legíveis

🕐 Gerar Expressão Cron Agora — Gratuito