我不是根,
我在crontab中输入了以下命令:

*/1 * * * * /home/ajain/testscript.sh

文件testscript.sh包含以下命令:
#!/bin/bash
echo "The script begins now"
ping -c 2 live.com
echo The script has been run on `date` >> /home/ajain/testscript.log
echo "The script ends now"
exit

crontab没有给出结果,但是,下面的命令在testscript.log文件中正确地给出了结果,显示了ping日期。
bash testscript.sh

为什么crontab不工作?

最佳答案

你可以用两种不同的方法来修复它。
要提供脚本/home/ajain/testscript.sh的完整路径,这里甚至不需要添加bash,因为您已经清楚地提到了shell脚本应该运行在哪一行,即脚本的第一行#!/bin/bash
在执行脚本之前添加这一行

 set path=$path:/home/ajain/

 testscript.sh # no need to use bash in front of it

同时,向脚本提供执行权限还不够。您需要检查要执行脚本的用户是否有权访问脚本的位置。这意味着用户是否可以执行cd /home/ajain/操作。
希望这对你有帮助。

10-06 11:09