无法让cron使用sudo执行python脚本。该脚本处理GPIO输入,因此应使用sudo进行调用。该计划应该保存的温度和湿度,以文件,但cat temp.txt
并cat humid.txt
给了我空字符串。
sudo crontab -e
* * * * * python /home/dixhom/Adafruit_Python_DHT/examples/temphumid.py 1>>/tmp/cronoutput.log 2>>/tmp/cronerror.log
#!/usr/bin/python
import sys
import Adafruit_DHT
import datetime
# Adafruit_DHT.DHT22 : device name
# 4 : pin number
humidity, temperature = Adafruit_DHT.read_retry(Adafruit_DHT.DHT22, 4)
if humidity is not None:
f = open("humid.txt","w")
str = '{0}, {1}'.format(datetime.datetime.now().strftime("%Y/%m/%d %H:%M:%S"), humidity)
f.write(str)
else:
print 'Failed to get reading. Try again!'
sys.exit(1)
if temperature is not None:
f = open("temp.txt","w")
str = '{0}, {1}'.format(datetime.datetime.now().strftime("%Y/%m/%d %H:%M:%S"), temperature)
f.write(str)
else:
print 'Failed to get reading. Try again!'
sys.exit(1)
(空的)
sudo crontab -e
/usr/bin/python
在cronchkconfig cron
(继续)sudo apt-get update
sudo apt-get upgrade
sudo reboot
任何帮助,将不胜感激。谢谢。
选项1:您可以编辑/etc/crontab
。您可以在日程表后的一栏中指定哪个用户应执行相应的作业。
选项2:编辑root
使用的crontab
sudo su
crontab -e
我会选择第二个选项,因为这是文档所建议的...
(免责声明:关于GPIO的东西,我们不作任何保证。我只是假设您对“ needs sudo”是正确的,因为我从未在raspi上执行GPIO。因此,我仅以root用户身份运行脚本。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句