Reinicialização do Crontab: Como executar um script automaticamente na inicialização

Postado 10:17 18/04/2022 por COMPARTILHAR

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

Visão geral do comando Crontab

Com o crontabcomando, você tem controle total de quando e como os trabalhos são executados. Use crontabpara 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.

Crontab na inicialização: execute um Cron Job no momento da inicializaçã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.

Abrindo tarefas cron ist com o comando crontab

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 @rebootno 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 @rebootstring:

@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 + Xpara sair do Nano YEnterpara 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
Atualizando a lista de cron jobs

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

Executar um Cron Job na inicialização com atraso

Para executar um trabalho com um atraso após a reinicialização do sistema, use o comando sleep ao adicionar a @rebootstring:

@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

Remover um comando de reinicialização

Cada @rebootstring 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 -ecomando. 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 + Xpara sair do Nano YEnterpara 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

Comentários