Cron 任务不适用于 SH 脚本

Cron 任务不适用于 SH 脚本

我的 cron 任务有问题,我尝试了很多方法但没有任何效果。我使用的是 Raspbian,我用来crontab -e编辑我的 cron。

我需要每 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 和 root)...以及这些语法:

*/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当我直接通过orbash或启动脚本时sh,它起作用了!

这是 shell 脚本

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

当调试非交互式运行的 shell 脚本时,我总是从

#!/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

相关内容