Crontab no Linux: EXEMPLOS de agendamento de tarefas

O que รฉ crontab?

Cron tem o nome da palavra grega โ€œChronosโ€, que รฉ usada para designar o tempo. ร‰ um processo do sistema que executarรก tarefas automaticamente de acordo com um cronograma especรญfico. ร‰ um conjunto de comandos usados โ€‹โ€‹para executar tarefas regulares de agendamento. Crontab significa โ€œtabela cronโ€. Permite usar o agendador de tarefas, conhecido como cron, para executar tarefas.

Crontab tambรฉm รฉ o nome do programa usado para editar essa programaรงรฃo. Ele รฉ controlado por um arquivo crontab, um arquivo de configuraรงรฃo que indica comandos shell a serem executados periodicamente para um agendamento especรญfico.

Por que usar Cronjobs?

Aqui estรฃo os motivos para usar Cronjobs no Linux:

  • Ajuda o sistema operacional a fazer um backup agendado de arquivos de log ou banco de dados.
  • Exclua arquivos de log antigos
  • Archive e limpar tabelas de banco de dados
  • Envie qualquer e-mail de notificaรงรฃo, como boletins informativos, e-mail de expiraรงรฃo de senha
  • Limpeza regular de dados em cache
  • Crontab รฉ uma opรงรฃo ideal para automatizar trabalhos Unix.
  • ร‰ usado para automatizar a manutenรงรฃo do sistema

Como usar o cron no Linux?

Sistema Linux pack possui um agendador de tarefas รบtil chamado crontab. O Crontab รฉ popular porque pode ser programado para executar um processo automatizado como root. Portanto, ter um processo automatizado rodando como root facilita as alteraรงรตes no sistema. Vocรช sรณ precisa alterar a tarefa e esperar atรฉ que ela seja reiniciada.

Formato Linux Crontab

Crontab do Linux tem seis campos. Os primeiros cinco campos definem a hora e a data de execuรงรฃo, e o 6ยบ campo รฉ usado para a execuรงรฃo do comando.

Sintaxe do Crontab:

[Minute] [hour] 
[Day_of_the_Month] 
[Month_of_the_Year] 
[Day_of_the_Week] 
[command]

Formato Linux Crontab

  • Astrias (*): Use para combinar
  • Definir intervalo: Permite definir um intervalo com a ajuda de hรญfen como 1-10 ou 30-40 ou jan-mar, seg-qua.
  • Defina vรกrios intervalos: Permite definir vรกrios intervalos com comandos separados como apr-jun,oct-dec.

Como adicionar/modificar o Crontab

O usuรกrio pode editar seus trabalhos crontab com a ajuda do seguinte comando crontab:

$ crontab -u -e 

O comando acima abrirรก a configuraรงรฃo pessoal do crontab do sistema do seu computador, que pode ser editada usando seu editor de texto padrรฃo.

Nรฃo hรก necessidade de reiniciar o crontab, pois ele captarรก as alteraรงรตes automaticamente quando vocรช usar o comando a seguir.

$ crontab -l

Para remover suas tarefas crontab, use o seguinte comando.

$ crontab -r

Para adicionar ou atualizar o trabalho no crontab, use o comando fornecido abaixo.

crontab -e

Comando para editar o crontab de outro usuรกrio

crontab -u username -e

Como listar o Crontab

Comando para visualizar entradas crontab do usuรกrio atual

crontab -l

Comando para visualizar entradas crontab de um usuรกrio especรญfico:

crontab -u username -l

Exemplos importantes do Crontab

Aqui estรฃo alguns exemplos importantes de Crontab

Descriรงรฃo Command
Comando Cron para executar os vรกrios trabalhos de agendamento.
O comando fornecido abaixo รฉ executado ร s 7h e ร s 5h diariamente.
0 7,17 * * * /scripts/script.sh
Comando para executar um cron a cada 5 minutos.
*/5* * * * *  /scripts/script.sh
O comando do agendador Cron ajuda vocรช a executar a tarefa em cada Monday ร s 5 da manhรฃ. Este comando รฉ รบtil para realizar tarefas semanais, como limpeza do sistema.
0 5 * * mon  /scripts/script.sh
Comando execute seu script em intervalo de 3 minutos.
*/3 * * * * /scripts/monitor.sh
Comando para agendar um cron para execuรงรฃo em um mรชs especรญfico.
Este comando para executar tarefas รฉ executado nos meses de fevereiro, junho e setembro. ร€s vezes precisamos agendar uma tarefa para executar uma tarefa mensal selecionada.
* * * feb,jun,sep *  /script/script.sh
Comando para executar nos dias selecionados. Este exemplo executarรก cada Monday e quarta-feira ร s 5h.
0 17 * * mon,wed  /script/script.sh
Este comando permite que o cron seja executado no primeiro sรกbado de cada mรชs.
0 2 * * sat  [ $(date +%d) -le 06 ] && /script/script.sh
Comando para executar um script por intervalo de 6 horas para que possa ser configurado conforme abaixo.
0 */6 * * * /scripts/script.sh
Este comando agenda uma tarefa para ser executada duas vezes em Monday e terรงa-feira. Use as seguintes configuraรงรตes para fazer isso.
0 4,17 * * mon,tue /scripts/script.sh
Comando agenda um cron para execuรงรฃo a cada 15 segundos.
* * * * * /scripts/script.sh
* * * * *  sleep 15; /scripts/script.sh
Comando para agendar tarefas anualmente.
O carimbo de data / hora @anual รฉ = para โ€œ0 0 5 1 *โ€. Isso executa a tarefa no quinto minuto de cada ano. Vocรช pode usรก-lo para enviar saudaรงรตes de ano novo.
@yearly /scripts/script.sh 
Tarefas de comando a serem executadas mensalmente.
O carimbo de data/hora @mensal รฉ semelhante a โ€œ0 0 1 * *โ€. Esta expressรฃo de comando permite a execuรงรฃo de uma tarefa no primeiro minuto do mรชs.
@monthly /scripts/script.sh
Comando para executar mรบltiplas tarefas usando um รบnico cron.
* * * * * /scripts/script.sh; /scripts/scrit2.sh
Comando para agendar tarefas para execuรงรฃo semanal.
O carimbo de data/hora @weekly รฉ semelhante a โ€œ0 0 4 * sunโ€. Isso รฉ usado para executar tarefas semanais, como limpeza do sistema, etc.
@weekly /bin/script.sh
A tarefa serรก agendada para execuรงรฃo diรกria.
@daily timestamp รฉ semelhante a โ€œ0 2 * * *โ€. Ele executa a tarefa no segundo minuto de cada dia.
@daily /scripts/script.sh
Permite que as tarefas sejam executadas de hora em hora.
O carimbo de data/hora @hora รฉ semelhante a โ€œ0 * * * *โ€. Este comando executa uma tarefa no primeiro minuto de cada hora.
@hourly /scripts/script.sh
Permite que tarefas sejam executadas na reinicializaรงรฃo do sistema.
A expressรฃo @reboot รฉ รบtil para as tarefas que o sistema deseja executar na inicializaรงรฃo do sistema. Isso รฉ รบtil para iniciar tarefas em segundo plano automaticamente.
@reboot /scripts/script.sh

Resumo:

  • Cron tem o nome da palavra grega โ€œChronosโ€, que รฉ usada para designar o tempo.
  • Cronjobs ajudam o sistema operacional a fazer backup agendado de arquivos de log ou banco de dados.
  • O pacote de sistema Linux possui um agendador de tarefas รบtil chamado crontab que pode ser agendado para executar um processo automatizado como root.
  • Crontab do Linux tem seis campos. Os primeiros cinco campos definem a hora e a data de execuรงรฃo, e o 6ยบ campo รฉ usado para a execuรงรฃo do comando.

Resuma esta postagem com: