Introdução
O daemon Cron é um utilitário Linux usado para agendar tarefas e processos do sistema. Ele usa tabelas cron (crontab) para armazenar e ler trabalhos agendados.
Este tutorial cobrirá como você pode usar o crontab para agendar trabalhos a serem executados na reinicialização do sistema.
Pré-requisitos
Com o crontab
comando, você tem controle total de quando e como os trabalhos são executados. Use crontab
para definir o tempo de execução do trabalho até o minuto, sem a necessidade de looping e lógica de tempo na tarefa.
crontab
tem poucos requisitos de recursos, pois não reserva memória do sistema quando não está em execução.
Abra a lista de tarefas cron usando o seguinte comando:
crontab -e
Se você tiver vários editores de texto instalados, o sistema solicitará que você selecione um editor para atualizar a lista de tarefas cron. Use o número entre parênteses para escolher sua opção preferida. Estaremos usando a opção padrão, Nano.
Observação: deixar o campo em branco e pressionar Enter seleciona a primeira opção disponível.
Para executar um cron job a cada inicialização do sistema, adicione uma string chamada @reboot
no final da lista de tarefas. O trabalho definido por esta string é executado na inicialização, imediatamente após a reinicialização do Linux.
Use a seguinte sintaxe ao adicionar uma @reboot
string:
@reboot [path to command] [argument1] [argument2] … [argument n]
@reboot [part to shell script]
Observação: sempre use o caminho completo para o trabalho, script ou comando que deseja executar, começando pela raiz.
Pressione Control + X
para sair do Nano Y
e Enter
para salvar as alterações feitas.
Por exemplo, se quisermos que a data do sistema seja gravada em um arquivo chamado date.txt quando o Linux for reiniciado , adicionaríamos a seguinte string:
@reboot date >> ~/date.txt
Se quiséssemos executar o shell de backup na reinicialização, adicionaríamos:
@reboot /root/backup.sh
Observação: em alguns casos, o serviço crond precisa ser habilitado na inicialização para que a configuração funcione.
Para verificar se o serviço crond está habilitado, use:
sudo systemctl status cron.service
Para habilitar este serviço, use:
sudo systemctl enable cron.service
Para executar um trabalho com um atraso após a reinicialização do sistema, use o comando sleep ao adicionar a @reboot
string:
@reboot sleep [time in seconds] && [path to job]
Se você deseja criar um arquivo de texto com a data do sistema cinco minutos após a reinicialização, adicione:
@reboot sleep 300 && date >> ~/date.txt
Cada @reboot
string que você adiciona à lista de tarefas Cron executa uma tarefa sempre que o Linux é reiniciado. Se você não deseja mais executar um trabalho, remova-o da lista de tarefas.
Para fazer isso, abra a lista de tarefas usando o crontab -e
comando. Role para baixo para revisar os trabalhos que você adicionou.
Para remover uma tarefa da lista, exclua a linha apropriada da string apropriada. Pressione Control + X
para sair do Nano Y
e Enter
para salvar as alterações.
Conclusão
Depois de seguir este tutorial, você entenderá como usar o crontab para agendar trabalhos para serem executados na reinicialização do sistema.
Para obter mais maneiras de agendar tarefas no crontab, verifique nosso guia para configurar tarefas do cron .
fonte: https://phoenixnap.com/kb/crontab-reboot