top of page
Copia-de-Logo-Roverpix-01-2-copiar.webp

Crontab




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 -e

Este 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.sh
  • Executar um comando a cada 5 minutos:

*/5 * * * * comando
  • Executar às segundas-feiras às 8h:

0 8 * * 1 comando
  • Executar no primeiro dia de cada mês à meia-noite:

0 0 1 * * comando


✅ Outras funções importantes

  • Ver agendamentos existentes:

crontab -l
  • Remover todos os agendamentos do usuário:

crontab -r
  • Editar 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>&1
  • Mantenha 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.log

O 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


bottom of page