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 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.
Abra a lista de tarefas cron usando o seguinte comando:
crontab -eSe 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 @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 Ye Enterpara 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.txtSe 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.servicePara habilitar este serviço, use:
sudo systemctl enable cron.servicePara 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.txtCada @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 Ye Enterpara 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