Crontab
- Bruno Junqueira
- 25 de mar. de 2025
- 3 min de leitura

A crontab é uma ferramenta essencial em sistemas Linux utilizada para agendar e automatizar a execução de tarefas em horários ou intervalos específicos. Por meio dela, é possível programar scripts, comandos ou programas para rodar automaticamente, sem intervenção manual. Cada usuário do sistema pode ter sua própria crontab, permitindo automatizações personalizadas. O agendamento é feito com base em cinco campos (minuto, hora, dia do mês, mês e dia da semana), seguidos do comando a ser executado. Isso torna a crontab muito útil para rotinas como backups, atualizações, limpezas de logs ou qualquer tarefa periódica necessária à manutenção e funcionamento do sistema.
✅ Como editar o crontab
Para criar ou editar seus agendamentos, use o comando:
crontab -eEste comando abrirá o arquivo do crontab do usuário no editor de texto padrão.
✅ Estrutura da crontab
Cada linha do crontab segue a estrutura:
* * * * * comando
- - - - -
| | | | |
| | | | +---- Dia da semana (0-7) [Domingo = 0 ou 7]
| | | +---------- Mês (1-12)
| | +--------------- Dia do mês (1-31)
| +-------------------- Hora (0-23)
+------------------------- Minuto (0-59)Significados:
Minuto: de 0 a 59
Hora: de 0 a 23
Dia do mês: de 1 a 31
Mês: de 1 a 12
Dia da semana: de 0 a 7 (0 e 7 representam domingo)
Dicas úteis:
O caractere * significa "qualquer valor".
O formato */5 significa "a cada 5 unidades" (por exemplo, a cada 5 minutos).
✅ Exemplos práticos de uso
Executar um script todos os dias às 2h30:
30 2 * * * /caminho/do/seu/script.shExecutar um comando a cada 5 minutos:
*/5 * * * * comandoExecutar às segundas-feiras às 8h:
0 8 * * 1 comandoExecutar no primeiro dia de cada mês à meia-noite:
0 0 1 * * comando✅ Outras funções importantes
Ver agendamentos existentes:
crontab -lRemover todos os agendamentos do usuário:
crontab -rEditar o crontab de outro usuário (como root):
sudo crontab -u nome_do_usuario -e✅ Dicas finais
Certifique-se de que os caminhos dos scripts e comandos sejam absolutos.
Redirecione a saída para logs se quiser acompanhar a execução:
30 2 * * * /caminho/do/script.sh >> /var/log/script.log 2>&1Mantenha o sistema sincronizado com o horário correto usando serviços como o ntp.
Crontab nos servidores Roverpix
Abaixo está um exemplo de como utilizamos a crontab nos servidores Roverpix:
# ROVERPIX CRONTAB
# The information shall be passed
# JUST_DATA SYNC
0,30 6-19 * * * { date; bash ~/roverpix-api/scripts/manual/sync.sh http://localhost:8000 just_data ; echo "==================" ;} >> ~/sync_just_data.log
# FULL SYNC
0 20,22 * * * { date; bash ~/roverpix-api/scripts/manual/sync.sh http://localhost:8000 ; echo "==================" ;} >> ~/sync.log
# ORDER WEBHOOK
0,30 * * * * { date; bash ~/roverpix-api/scripts/manual/webhook.sh http://localhost:8000 5 ; echo "==================" ;} >> ~/webhook.log
# IMPORT CARDS
0 1 * * * { date; bash ~/roverpix-api/scripts/manual/sync.sh http://localhost:8000 import_cards ; echo "==================" ;} >> ~/import_cards.logO primeiro item chamado JUST_DATA SYNC é utilizado para atualizar as informações que são "sincronizáveis", como usuários, produtos, pdvs, cenários, etc. Ele é executado a cada 30 minutos, a partir das 6 da manhã até as 19.
O segundo item chamado FULL SYNC é utilizado para fazer uma sincronização completa dos dados. Tanto os dados sincronizáveis, como os dados "exportáveis", como vendas, fotos, etc. Ele é executado as 20 horas e as 22 horas todos os dias.
O terceiro item chamado ORDER WEBHOOK é utilizado para exportar vendas no webhook, caso tenha sido configurado. Ele é executado a cada 30 minutos, e ele recebe como parametro a quantidade de dias anteriores de vendas para buscar para enviar. Nesse caso, por padrão, colocamos 5 dias.
O quarto item chamado IMPORT CARDS é utilizado para importar os cartões. Ele é executado todos os dias a 1 da madrugada.
Todos eles redirecionam suas saídas para arquivos de logos, cada um especificado no final da linha, depois dos caracteres >>.

Comentários