크론 작업에 문제가 있습니다. 많은 것을 시도했지만 아무것도 작동하지 않습니다. 저는 crontab -e
cron을 편집하는 데 사용하는 Raspbian을 사용하고 있습니다.
1분마다 2개의 스크립트를 실행해야 합니다. Python 스크립트(.py)에서는 작동하지만 SH에서는 작동하지 않습니다.
*/1 * * * * /home/root/domoticz/scripts/DOMOTICZ/Home.py
*/1 * * * * /home/pi/Get_temp_bleville.sh
나는 많은 포럼을 읽었고 테스트 목적으로 시도한 스크립트 상단에 추가 #!/bin/sh
하거나 추가했습니다.#!/bin/bash
chmod 777 Get_temp_bleville.sh
지역, 그룹 소유자(pi 및 루트) 및 다음 구문을 변경해 보았습니다.
*/1 * * * * /bin/sh /home/pi/Get_temp_bleville.sh
*/1 * * * * /bin/bash /home/pi/Get_temp_bleville.sh
*/1 * * * * bash /home/pi/Get_temp_bleville.sh
*/1 * * * * sh /home/pi/Get_temp_bleville.sh
*/1 * * * * root /home/pi/Get_temp_bleville.sh
할 것이 없다:(
$ ls
-rwxrwxrwx 1 pi pi 228 déc. 19 21:19 Get_temp_bleville.sh
./script
or를 통해 직접 bash
스크립트를 시작 하면 sh
작동합니다!
이것은 쉘 스크립트입니다
SH 스크립트:
#!/bin/sh
# Get Weather by API
wget -N http://api.wunderground.com/api/3b048a56ce883f41/conditions/q/pws:I76DOLLE2.json
# Get Temperature and parse file + create txt file with the temparature value
cat pws\:I76DOLLE2.json | jq '.current_observation.temp_c' | xargs echo > Temp_bleville.txt
어떡해?
답변1
비대화형으로 실행되는 쉘 스크립트를 디버깅할 때 나는 항상 다음으로 시작합니다.
#!/bin/sh # or other shell
하지만 즉시 따라해 보세요
# this redirects output to your log file & sends errors there also
exec > [full path of your own log file] 2>&1
# This makes the script output each command as it is executed
set +x
이러한 이유로 다음과 같이 경로를 설정하거나 명령 앞에 전체 경로 이름을 추가하십시오.
export PATH=/bin:/usr/bin
또는
/usr/bin/wget -N http://api.wunderground.com/api/3b048a56ce883f41/conditions/q/pws:I76DOLLE2.json