我的腳本首先執行兩個將溫度從傳感器寫入文件的腳本,然後通過ftp從.sh文件中上傳文件。Crontab只運行我的腳本的一部分
出於某種原因,只有手動運行.sh文件時溫度纔會更新。當crontab運行腳本時,它只會上傳ftp,但似乎不運行python腳本,除了take_pic.py。
- crontab是從root的crontab執行的。
- 蟒蛇文件是可執行
- 日誌文件沒有顯示任何
- 如果我運行該腳本手動一切完美
ftp.sh:
echo "Run :$(date)" >> python_temp.log
python write_temp.py >> python_temp.log
python temp_to_file.py >> python_temp_to_file.log
#raspistill -o snapshot2.jpg -n -w 1280 -h 720
python takePic.py
sleep 3
HOST=XX #This is the FTP servers host or IP address.
USER=XX #This is the FTP user that has access to the server.
PASS=XX #This is the password for the FTP user.
NOW=$(date +"%c")
# echo beginne upload
touch work
ftp -inv $HOST << EOF
user $USER $PASS
cd /bilder/
put snapshot2.jpg
rename snapshot2.jpg snapshot.jpg
put temp.js
bye
EOF
# echo erfolgreicher upload
temp_to_file.py
import subprocess
import datetime
import sys
output = subprocess.check_output("temper-poll -q -c" , shell=True)
output = output.rstrip()
#write to file
fobj_out = open("temp.js","w")
fobj_out.write('document.write("' + output + '*C ");')
fobj_out.close()
的crontab:
*/5 * * * * /root/ftp.sh
發佈您的crontab語法。你有沒有通過http://stackoverflow.com/tags/crontab/info?有很好的調試信息。 – fedorqui
我認爲問題在於subprocess_check_output不能與crontab配合使用 –
您可能需要使用完整路徑,因爲crontab不知道它在哪裏運行。檢查我提供的鏈接,有很好的信息。 – fedorqui