
У меня есть скрипт на Python, который я хочу запускать в 5 вечера каждую пятницу.
Как мне этого добиться?
Я понимаю, что могу сделать это через cron. Однако, поскольку я использовал относительные пути к файлам в скрипте Python, и поэтому должен быть запущен в определенном каталоге с другими файлами. Я видел, что могу добиться этого с помощью оператора pipe, однако не смог найти пример.
решение1
Есть разные способы добиться этого, я перечислю только два способа:
(1) Используйте Bash "Wrapper Shell Script" в вашем задании Cron для выполнения @ 5PM.
В "Wrapper Script" сначала "cd X", где X - это необходимый каталог.
Затем выполните скрипт Python. Он будет запущен в каталоге X.
# My Bash Wrapper Script
cd X # use the necessary Directory here
python MyPythonScript.py
(2) В вашем скрипте Python импортируйте модуль «os» и используйте «os.chdir» для смены каталога, а затем продолжите выполнение скрипта Python.
# My Python Script
import os
os.chdir(X) # use necessary Directory here
# continue with Python Script
# no other Changes necessary
Эти два способа очень просты в использовании.
решение2
Вы можете просто перейти в каталог перед запуском скрипта.
0 17 * * Fri cd /path/to/dir && python myscript.py
Обертка не требуется.