从cron执行一个sh脚本

我有一个test.sh脚本

#!/bin/sh php /home/v/file.php sh /root/x/some.sh 

当我从命令行以root身份执行文件时,它可以工作。

 sh /home/v/test.sh 

当我把它设置为crontab -e(是root的cron),不起作用

  * * * * * sh /home/v/test.sh 

我做错了什么? 谢谢

cron遇到的环境是非常有限的,尽量使用二进制文件的完整path。

 #!/bin/sh /usr/bin/php /home/v/file.php /bin/sh /root/x/some.sh 

这认为你的PHP二进制文件在/ usr / bin / php中,如果不是这种情况,请适时修改

也尝试添加在您的Cron MAILTO行的顶部,以获得一个直接的邮件与执行过程中可能发生的任何错误

 [email protected] * * * * * sh /home/v/test.sh 

这是可能的php二进制不在默认的cron PATH。 你应该把你的脚本中的二进制文件的完整path

/usr/bin/php /home/v/file.php

你还应该为sh提供一个path

/bin/sh /root/x/some.sh