#python #cron
#python #cron
Вопрос:
Я создал задание CRON для запуска скрипта Python в 11.45 каждый день. Однако, когда я тестировал, я вижу, что скрипт python не выполняется:
45 11 * * * /usr/bin/python2.7 /home/user/Documents/Example/main.py
Я думаю, что проблема связана с каталогом установки python, поскольку у меня установлено несколько python, и я не уверен, какой из них правильный:
Чтобы проверить установку python, я использовал следующую команду:
whereis python
Вывод:
python: /usr/bin/python3.6m /usr/bin/python2.7-config /usr/bin/python
/usr/bin/python3.6 /usr/bin/python2.7 /usr/lib/python3.7
/usr/lib/python3.6 /usr/lib/python2.7 /etc/python /etc/python3.6
/etc/python2.7 /usr/local/lib/python3.6 /usr/local/lib/python2.7
/usr/include/python3.6m /usr/include/python2.7 /usr/share/python
/usr/share/man/man1/python.1.gz
Я добавил права на исполняемый файл для скрипта Python и его родительского каталога:
chmod a x /home/user/Documents/Example/main.py
Примечание: Я хочу использовать python 2.7 для выполнения скрипта. Есть ли что-нибудь, что я делаю неправильно
Комментарии:
1. можете ли вы опубликовать результат
grep CRON /var/log/syslog
? Очевидно, удалите личную информацию, если таковая имеется.2. Вы пробовали запускать команду, которую добавили в cron, т.Е. Выполняется ли она
/usr/bin/python2.7 /home/user/Documents/Example/main.py
при запуске в вашей командной строке? Также для поиска полного пути к использованию команды оболочкиwhich
,whereis
используется дляlocate the binary, source, and manual page files for a command
3. Я думаю, что правильный путь для python 2.7 — это /etc/python2.7 . Попробуйте выполнить скрипт перед iinserting его на crontab.
/etc/python2.7 /home/user/Documents/Example/main.py
или даже/usr/bin/python2.7 /home/user/Documents/Example/main.py
и опубликовать результат.4. Что пытается сделать ваш скрипт?, и откуда вы знаете, что он не выполняется?
5. Не установлен MTA, вывод отбрасывается: это ошибка, которую я получаю, когда он пытается выполнить задание @Miles Davis