Gerador de Cron Job
Expressão Cron Gerada:
Validador de Expressão Cron
Teste sua expressão cron:
Exemplos Comuns de Cron
Sobre o Gerador de Cron
Como usar expressões cron?
As expressões cron são compostas por 5 campos separados por espaços, representando minuto, hora, dia do mês, mês e dia da semana. Cada campo pode conter valores específicos, intervalos, listas ou caracteres especiais como * (qualquer valor) e / (incremento).
Esta ferramenta gera automaticamente a sintaxe correta e mostra quando a tarefa será executada, eliminando erros comuns e facilitando o agendamento de tarefas automatizadas.
Perguntas Frequentes
Um cron job é uma tarefa agendada que executa automaticamente em horários específicos em sistemas Unix/Linux. É amplamente usado para:
- Backups automáticos: Fazer backup de bancos de dados e arquivos regularmente
- Limpeza de sistema: Remover arquivos temporários e logs antigos
- Monitoramento: Verificar status de serviços e recursos do sistema
- Envio de emails: Newsletters, relatórios e notificações programadas
- Atualizações: Sincronizar dados entre sistemas
- Manutenção: Reiniciar serviços, otimizar bancos de dados
O cron é essencial para automação de tarefas administrativas e operacionais em servidores, aumentando a eficiência e reduzindo trabalho manual repetitivo.
A sintaxe do crontab é composta por 5 campos separados por espaços, cada um representando uma unidade de tempo:
- Campo 1 - Minuto: 0-59 (em qual minuto da hora executar)
- Campo 2 - Hora: 0-23 (em qual hora do dia executar)
- Campo 3 - Dia do mês: 1-31 (em qual dia do mês executar)
- Campo 4 - Mês: 1-12 (em qual mês executar)
- Campo 5 - Dia da semana: 0-7 (0 e 7 = domingo)
Caracteres especiais importantes:
- * - Qualquer valor (todos os valores possíveis)
- , - Lista de valores (ex: 1,3,5)
- - - Intervalo de valores (ex: 1-5)
- / - Incremento (ex: */5 = a cada 5)
Exemplo prático:
0 2 * * 1
significa "executar às 2:00 da manhã, todos os dias do mês, todos os meses, mas apenas nas segundas-feiras".
Esta é uma questão importante que gera confusão. Na verdade, o ponto de interrogação (?) não é válido no cron padrão Unix/Linux . Apenas o asterisco (*) é usado.
O asterisco (*) significa "qualquer valor" ou "todos os valores" para aquele campo. Por exemplo:
-
* * * * *- Executa a cada minuto -
0 * * * *- Executa no minuto 0 de cada hora -
0 0 * * *- Executa à meia-noite todos os dias
O ? é usado apenas no Quartz Scheduler (Java) e algumas outras implementações específicas, onde pode aparecer nos campos de dia do mês e dia da semana para indicar "não especificado". No cron tradicional Unix/Linux, use sempre * quando quiser indicar "qualquer valor".
Dica importante: Se você precisa especificar um dia específico da semana, coloque * no campo dia do mês, e vice-versa, para evitar conflitos de agendamento.
Aqui estão os padrões mais comuns para diferentes frequências de execução:
Execuções por minuto/hora:
-
* * * * *- A cada minuto -
*/5 * * * *- A cada 30 segundos -
*/15 * * * *- A cada 130 segundos -
0 * * * *- A cada hora (no minuto 0) -
0 */6 * * *- A cada 6 horas
Execuções diárias:
-
0 0 * * *- Diariamente à meia-noite -
0 6 * * *- Diariamente às 6:00 -
30 14 * * *- Diariamente às 14:30
Execuções semanais/mensais:
-
0 0 * * 0- Semanalmente aos domingos -
0 0 * * 1-5- Diariamente em dias úteis -
0 0 1 * *- Mensalmente no dia 1 -
0 0 1 1,4,7,10 *- Trimestralmente
Dica: Use nossa ferramenta geradora para testar diferentes combinações e ver exatamente quando sua tarefa será executada!
Para gerenciar cron jobs no Linux, use os seguintes comandos:
Comandos básicos:
-
crontab -e- Editar cron jobs do usuário atual -
crontab -l- Listar cron jobs existentes -
crontab -r- Remover todos os cron jobs -
crontab -u username -e- Editar cron jobs de outro usuário (como root)
Processo de criação:
-
Execute
crontab -e -
Adicione sua linha cron (ex:
0 2 * * * /caminho/para/script.sh) - Salve e feche o editor
- O cron job será ativado automaticamente
Boas práticas:
- Use caminhos absolutos para comandos e arquivos
-
Redirecione saída para logs:
>> /var/log/meulog.log 2>&1 - Defina variáveis de ambiente no início do crontab
- Teste scripts manualmente antes de automatizar
Verificação de logs:
Verifique
/var/log/cron
ou
/var/log/syslog
para debug de problemas.
Os erros mais frequentes ao configurar cron jobs incluem:
Problemas de caminho:
- Caminhos relativos: Use sempre caminhos absolutos (/usr/bin/php em vez de php)
- PATH não definido: Defina PATH no início do crontab
- Permissões: Verifique se o usuário tem permissão para executar o script
Problemas de sintaxe:
- Campos incorretos: Lembre-se que são 5 campos (minuto hora dia mês diasemana)
- Valores inválidos: Ex: minuto 60 (máximo é 59)
- Caracteres especiais mal usados: Confundir * com outras opções
Problemas de ambiente:
- Variáveis de ambiente: O cron tem ambiente mínimo
- Diretório de trabalho: Scripts podem executar em diretório diferente
- Saída não capturada: Erros podem passar despercebidos sem logs
Dicas para debug:
- Teste o comando manualmente primeiro
- Adicione logs com data/hora nos scripts
-
Use
*/1 * * * *para testes rápidos - Verifique logs do sistema (/var/log/cron)