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]
- 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.