
Eu tenho um script python que desejo executar às 17h todas as sextas-feiras.
Como posso conseguir isso?
Eu entendo que poderia fazer isso através do cron. No entanto, como usei caminhos de arquivos relativos no script Python e, portanto, devem ser executados no diretório específico com os outros arquivos. Vi que posso conseguir isso usando o operador pipe, mas não consegui encontrar um exemplo.
Responder1
Existem várias maneiras de conseguir isso, listarei apenas duas maneiras:
(1) Use um "Wrapper Shell Script" do Bash em seu Cron Job para executar às 17h.
No "Wrapper Script", primeiro "cd X" onde X é o diretório necessário.
Em seguida, execute o script Python. Ele será executado no Diretório X.
# My Bash Wrapper Script
cd X # use the necessary Directory here
python MyPythonScript.py
(2) Em seu script Python, importe o módulo "os" e use "os.chdir" para alterar o diretório e continue com o script Python.
# My Python Script
import os
os.chdir(X) # use necessary Directory here
# continue with Python Script
# no other Changes necessary
Essas 2 formas são muito fáceis de usar.
Responder2
Você pode simplesmente entrar no diretório antes de executar o script.
0 17 * * Fri cd /path/to/dir && python myscript.py
Não é necessário invólucro.