Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell脚本可以手动正常工作,但无法通过Crontab执行_Shell_Crontab_Raspbian - Fatal编程技术网

Shell脚本可以手动正常工作,但无法通过Crontab执行

Shell脚本可以手动正常工作,但无法通过Crontab执行,shell,crontab,raspbian,Shell,Crontab,Raspbian,因此,我似乎无法解决Crontab的问题。我有一个shell脚本,我想每15分钟运行一次。我可以手动执行脚本,但Crontab无法成功启动它。这很奇怪,我会将其设置为在特定时间执行,我可以检查进程是否正在运行,但它从未实际执行。以下是我在Crontab中的设置 0, 15, 30, 45 * * * root /home/rpitc/Desktop/Script/Refresh 下面是Shell脚本的样子 #!/bin/bash service=wfica if (( $(ps -ef

因此,我似乎无法解决Crontab的问题。我有一个shell脚本,我想每15分钟运行一次。我可以手动执行脚本,但Crontab无法成功启动它。这很奇怪,我会将其设置为在特定时间执行,我可以检查进程是否正在运行,但它从未实际执行。以下是我在Crontab中的设置

0, 15, 30, 45 * * * root  /home/rpitc/Desktop/Script/Refresh
下面是Shell脚本的样子

#!/bin/bash

service=wfica

if (( $(ps -ef | grep -v grep | grep $service | wc -l) > 0 ))
then
echo "$service is running!!!"
else
/home/rpitc/Desktop/Script/Iceweasel.sh & /home/rpitc/Desktop/Script/Login.sh
fi

我在这里读到,可能是路径造成了问题,所以我所做的是将所有脚本复制到/bin路径,并适当地更改了脚本,但仍然无法执行。请帮帮我,这太荒谬了

我认为在使用“crontab-e”时,语法应该是(不带“root”和空格):

如果您使用的是“/etc/cron.d/”中的文件,则crontab条目应该如下所示:

0,15,30,45 * * * root /home/rpitc/Desktop/Script/Refresh

这可能是一个权限问题。这并不能真正解决你的问题,但这不应该是另一个问题吗
grep-v grep | grep$service
为什么你的逗号后面有空格?对不起,乔纳森,我在写这篇文章的时候错了。我的Crontab设置不反映空间。为了Jidder…我不确定我是否听你的话…我做了以下事情。chmod 777到路径。Jidder的评论是,
grep-v grep
通常用于忽略用于查找进程的
grep X
。但是,只有在运行
grep-v grep
之前运行
grep X
时,才能(真正)起作用,因为您正在尝试过滤第一个grep的输出。我正在/etc/Crontab中编辑Crontab。如果我尝试编辑/etc/cron.d,它会显示新的Bufer。我应该改为将命令添加到cron.d吗?好的,我明白了/etc/crontab应该可以使用第二种语法。在我看来,最好使用命令“crontab-e”,因为其中包含语法检查!!确保逗号分隔的分钟列表中没有空格!!!这很奇怪。所以我删除了15分钟的变量,这样我可以更频繁地测试它。我会将它设置为在特定时间命中。我检查进程,一旦它达到Crontab中设置的X时间,我可以看到它作为一个进程运行,但是突然它停止了运行。它不想执行。发生了什么事?
0,15,30,45 * * * root /home/rpitc/Desktop/Script/Refresh