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.