環境
- 樹莓PI 2
- raspbian-傑西-精簡版
- 視窗8.1
- 膩子0.66(SSH)
問題
無法獲取cron到ex使用sudo執行python腳本。該腳本處理GPIO輸入,所以應該用sudo調用它。程序應該保存溫度和溼度文件,但cat temp.txt
和cat humid.txt
給了我空字符串。執行一個Python腳本包括GPIO在樹莓裨命令由cron 2
sudo crontab -e
* * * * * python /home/dixhom/Adafruit_Python_DHT/examples/temphumid.py 1>>/tmp/cronoutput.log 2>>/tmp/cronerror.log
Python腳本
#!/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)
cronerror.log和cronoutput.log
(空)
我在cron試圖
sudo crontab -e
/usr/bin/python
chkconfig cron
(在cron的)sudo apt-get update
sudo apt-get upgrade
sudo reboot
任何幫助,將不勝感激。謝謝。
謝謝。但我試過這些,問題依然存在。 – dixhom
我假設腳本正在工作並在交互調用時產生輸出。當它現在以root身份運行時,我認爲它也將以root的主目錄作爲工作目錄運行。由於腳本使用相對路徑,您的文件將被放置在那裏... – flaschbier
沒錯,關鍵是相對路徑。我無法找到根目錄的主目錄,因此我修復了程序,以便將數據保存到絕對路徑,並且工作正常!謝謝。 – dixhom