当 cron 运行我的 python 脚本时无法连接

当 cron 运行我的 python 脚本时无法连接

我有一个 python 脚本main.py,它使用 tweepy 读取我最新的推文。我创建了一个shell脚本looplauncher.sh,它调用这个python脚本:

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

如果我运行python main.pysh looplauncher.sh使用或不使用 sudo,我的程序都运行良好。我将此行粘贴到 cron 中:使用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)

手动运行脚本效果很好。 (虽然我确实有一些特殊的匈牙利字母,比如 éáőóű

答案1

尝试在 crontab 中的其他所有内容之前添加此行:

PATH=/usr/bin/:/bin

相关内容