Задание CRON, не выполняющее скрипт Python

#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