невозможно подключиться, когда cron запускает мой сценарий python

У меня есть сценарий python main.py , который читает мой последний твит с помощью tweepy. Я создал сценарий оболочки looplauncher.sh, который вызывает этот сценарий python:

cd /
cd home/pi/LCDinterface
sudo python main.py &
cd /

Если я запустил python main.py или sh looplauncher.sh с sudo или без него, моя программа запустится отлично. Я вставил эту строку в cron: using sudo crontab -e

*/2 * * * * sleep 60 && sudo sh /home/pi/LCDinterface/looplauncher.sh >/home/pi/logs/loopcronlog 2>&1

Сценарий python действительно запускается каждые 2 минуты (я вижу это из журналов). Но я никогда не могу получить свой твит. Если я запускаю main.py вручную, я всегда получаю свой твит. Я пробовал много комбинаций sudo / no sudo, добавил задержку, чтобы дать время для соединения. Но пока ничего не работает. Вы можете мне с этим помочь? (Я делаю это на Raspberry Pi 3)

У меня возникали подобные ошибки при запуске cron:

Traceback (most recent call last):
  File "main.py", line 49, in <module>
    main()
  File "main.py", line 32, in main
    tweet = getTweet('RaspProject')
  File "/home/pi/LCDinterface/twitterHelper.py", line 20, in getTweet
    print (tweet._json['text'])
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 32: ordinal not in range(128)

Запуск вручную скриптов работает нормально. (Хотя у меня действительно есть несколько специальных венгерских букв, например éáőóű

0
06.04.2017, 10:46
1 ответ

Попробуйте добавить эту строку перед всем остальным в вашем crontab:

PATH=/usr/bin/:/bin
0
28.01.2020, 04:47

Теги

Похожие вопросы