2015-07-10 2 views
0

Запустив интересную проблему, у меня есть файл python, который я установил с помощью setup.py. Я хочу отправить вывод (просто печатает в stdout) этого скрипта python как тело письма. Когда обжигающе этот сценарий по почте в командной строке, как показано ниже, все хорошо:Stdout из сценария python, по-видимому, перенаправлен в cron

my_python_script | mail -s "my subject" my_email

Однако, когда тот же сценарий будет добавлен в кронтаб, он дает ожидаемый предмет, но пустое тело:

* * * * * my_python_script | mail -s "my subject" my_email

Любая идея о том, почему это?

+3

Вы используете полный путь к сценарию? –

+0

Попытайтесь изолировать проблему; это со сценарием или с линией cron? Чтобы определить это, упростите скрипт до одной строки: «print» hello, world ». Он все еще терпит неудачу в cron? –

+0

@AnandSKumar похоже, что это была проблема, 'my_python_script' был установлен как точка входа, поэтому установка команды как' * * * * */usr/local/bin/my_python_script | mail -s "мой вопрос" my_email' решил проблему. –

ответ

0

Вам может понадобиться поставить интерпретатор питона перед вашим именем скрипта, например:

* * * * * /bin/python my_python_script | mail -s "my subject" my_email 

Вы можете найти расположение интерпретатора с помощью команды which python. Замените /bin/python этим путем.

+0

Проблема была на самом деле результатом того, что не удалось найти точку входа, в отличие от того, что не удалось найти интерпретатор python. –

+0

Рад, что вы его нашли. Надеюсь, этот ответ поможет кому-то другому. –

 Смежные вопросы

  • Нет связанных вопросов^_^