Como agendar a execução de um script shell no Linux com o cron
O cron é uma ferramenta que permite programar a execução de comandos ou scripts no Linux em horários específicos. O cron é útil para realizar tarefas automáticas e periódicas, como fazer backups, atualizar o sistema, enviar e-mails e muito mais.
O cron funciona com base em um ficheiro chamado crontab, que contém as instruções de quando e como executar os comandos ou scripts. Cada utilizador do Linux pode ter o seu próprio ficheiro crontab, que pode ser editado com o comando crontab -e. O arquivo crontab segue um formato específico, que consiste em seis campos separados por espaços:
minuto hora dia_do_mês mês dia_da_semana comando
Onde:
- minuto: indica o minuto em que o comando ou script deve ser executado, de 0 a 59.
- hora: indica a hora em que o comando ou script deve ser executado, de 0 a 23.
- dia_do_mês: indica o dia do mês em que o comando ou script deve ser executado, de 1 a 31.
- mês: indica o mês em que o comando ou script deve ser executado, de 1 a 12 ou pelos nomes abreviados em inglês (jan, feb, mar, etc.).
- dia_da_semana: indica o dia da semana em que o comando ou script deve ser executado, de 0 a 6 ou pelos nomes abreviados em inglês (sun, mon, tue, etc.), sendo 0 ou sun para domingo.
- comando: indica o comando ou script que deve ser executado, com o caminho absoluto ou relativo.
Pode usar alguns caracteres especiais para especificar intervalos ou listas de valores nos campos do crontab. Por exemplo:
- *: significa qualquer valor possível para o campo. Por exemplo, se usar * no campo hora, significa que o comando ou script será executado a cada hora.
- -: significa um intervalo de valores para o campo. Por exemplo, se usar 1-5 no campo dia_da_semana, significa que o comando ou script será executado de segunda a sexta-feira.
- ,: significa uma lista de valores para o campo. Por exemplo, se usar 1,3,5 no campo mês, significa que o comando ou script será executado em janeiro, março e maio.
- /: significa um passo de valores para o campo. Por exemplo, se usar */2 no campo hora, significa que o comando ou script será executado a cada duas horas.
Além disso, pode usar algumas abreviações predefinidas para representar combinações comuns de valores nos campos do crontab. Por exemplo:
- @reboot: significa que o comando ou script será executado uma vez na inicialização do sistema.
- @yearly: significa que o comando ou script será executado uma vez por ano, no primeiro minuto do primeiro dia do ano (equivalente a 0 0 1 1 *).
- @monthly: significa que o comando ou script será executado uma vez por mês, no primeiro minuto do primeiro dia do mês (equivalente a 0 0 1 * *).
- @weekly: significa que o comando ou script será executado uma vez por semana, no primeiro minuto do primeiro dia da semana (equivalente a 0 0 * * 0).
- @daily: significa que o comando ou script será executado uma vez por dia, no primeiro minuto da meia-noite (equivalente a 0 0 * * *).
- @hourly: significa que o comando ou script será executado uma vez por hora, no primeiro minuto da hora (equivalente a 0 * * * *).
Para exemplificar como usar o cron para agendar a execução de um script shell no Linux, vamos supor que tem um script chamado backup.sh, que faz um backup dos seus ficheiros importantes, e que queira executá-lo todos os dias às 23:00. Para isso, pode seguir os passos abaixo:
- Abra o terminal e digite crontab -e para editar o seu arquivo crontab.
- Insira a seguinte linha no final do arquivo:
0 23 * * * /path/to/backup.sh - Grave e feche o ficheiro. O cron vai ler o seu arquivo crontab e executar o seu script conforme programado.
Pronto! Agora já sabe como usar o cron para agendar a execução de um script shell no Linux.
#Linux #Cron #Script #Shell #Agendar #Executar #Comando #Crontab #Hora #Data
- Criado em .
Termos e condições
Receber notificações de novos comentários por email
Avisar
Os meus comentários