Как запустить файл python с помощью заданий cron
Привет, я создал файл python, например, как file_example.py
Файл выводит значение sensex
Предположим, что путь к файлу в системе linux равен /Desktop/downloads/file_example.py
и я обычно запускаю файл как python file_example.py
Но я хочу установить задание cron для запуска файла python каждые 2 минуты, который находится по указанному выше пути.
Может кто-нибудь, пожалуйста, дайте мне знать, как это сделать.
Отредактированный код:
Я редактировал код и создал bash script с именем test.sh, как указано ниже
#!/bin/bash
cd /Desktop/downloads/file_example.py
python file_example.py 2>log.txt
Когда я запускаю указанный выше файл, отображается следующая ошибка:
sh-4.2$ python test.sh
File "test.sh", line 3
python test.py 2>log.txt
^
SyntaxError: invalid syntax
Ответы
Ответ 1
Предполагая, что вы используете ОС unix, вы должны сделать следующее.
отредактируйте файл crontab с помощью команды
crontab -e
добавьте строку, которая похожа на приведенную ниже
*/2 * * * * /Desktop/downloads/file_example.py
это может использоваться для запуска других скриптов, просто используйте путь к script, необходимый i.e.
*/2 * * * * /path/to/script/to/run.sh
Ниже приводится объяснение времени (добавьте звездочку и косую черту перед номером, чтобы запускать каждый n временных меток, в этом случае каждые 2 минуты)
* * * * * command to be executed
- - - - -
| | | | |
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)
Ответ 2
Вы можете использовать модуль python-crontab.
https://pypi.python.org/pypi/python-crontab
Чтобы создать новое задание cron так же просто:
from crontab import CronTab
#init cron
cron = CronTab()
#add new cron job
job = cron.new(command='/usr/bin/echo')
#job settings
job.hour.every(4)