Este tópico apresenta uma das formas de realizar esse tipo de tarefa, utilizando o Cron.
O Crontab é um software do linux que permite a execução em horário e dias específicos e descarta, por exemplo, a necessidade de edição do arquivo rc.local para criação de tarefas de inicialização no sistema.
Como duas ferramentas principais de seu uso, temos a ferramenta de visualização das tarefas já agendadas e a segunda ferramenta de edição.
Para visualizar as tarefas agendadas, execute o comando:
crontab -l
A segunda, executa diariamente a mesma tarefa, às 13:25.
Para agendar a tarefa para ser realizada na inicialização do sistema, por exemplo você poderia criar a tarefa:
@restart python3 /caminho/script.py
A sintaxe do crontab, segue a seguinte ideia:
m h diadomes mes diadasemana
Para o dia do mes, mes e dia da semana, se você colocar o flag *, o mesmo será executado todos os dias.
Abaixo listo alguns exemplos:
30 0 1 * * python3 /caminho/script.py => Executa o script sempre no dia 01 do mês, às 0:30.
30 0 1 4 * python3 /caminho/script.py => Executa o script sempre no dia 01 do mês de abril, às 0:30.
0 12 * * 1 python3/caminho/script.py => Executa o script sempre às segundas feiras.
Conhecendo a sintaxe é hora então de criar sua tarefa. Para criar um novo agendamento, portanto, você deve executar o comando:
crontab -e
Por padrão ele abrirá o editor nano. Tudo o que precisa fazer é adicionar a linha desejada ao fim do arquivo. Você verá na barra inferior, alguns atalhos do nano. Lembre-se que a marcação ^ significa control no Linux.
Portanto, para salvar o arquivo pressione Ctrl + O.
Para sair do editor do crontab pressione Ctrl + X.
Boa sorte! Qualquer dúvida, mande mensagem.