我有一个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