В моем скрипте сначала выполняются два сценария python, которые записывают температуру от датчика к файлу, который затем загружается через ftp из файла .sh.Crontab запускает только часть моего скрипта
По какой-то причине температура обновляется только при запуске файла .sh вручную. Когда crontab запускает скрипт, он загружает только ftp, но, похоже, он не запускает скрипты python, за исключением take_pic.py.
- Кронтаб выполнен из кронтаба корня.
- файлы питона выполнимы
- Файлы журнала ничего
- не показывать Если я запускаю сценарий вручную все работает отлично
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