这似乎只是另一个基本的 cron 问题,但我无法弄清楚:
@hourly "/usr/bin/php /usr/local/bin/notify.sh"
Run Code Online (Sandbox Code Playgroud)
我将一堆东西从一台服务器迁移到另一台服务器,并且在一些工作后能够让大多数事情顺利运行,现在我正在灭火。
当应该运行以下 cron 作业时,我每小时都会收到这封电子邮件:
/bin/sh: 1: /usr/bin/php /usr/local/bin/notify.sh: not found
Run Code Online (Sandbox Code Playgroud)
通常,not found是由 PATH 不存在引起的(cron 作业的问题),但我提供了PHP 和脚本的完整路径。该脚本以 root 身份运行,并且可以交互地运行该脚本。
脚本有755
权限,只是为了安全(任何人都可以读取或执行),所以权限不是问题。
我可以手动运行脚本和它调用的脚本,所以我不知道这个“未找到”是从哪里来的。
除了运行之外,cron 日志中没有任何可疑之处。
这在旧服务器上正常工作。
这里是否有其他因素可能在起作用,或者我如何尝试追踪此问题的原因?
入口
@hourly "/usr/bin/php /usr/local/bin/notify.sh"
Run Code Online (Sandbox Code Playgroud)
作为单个参数传递/usr/bin/php /usr/local/bin/notify.sh
给/bin/sh -c
。这就是为什么错误消息是
/bin/sh: 1: /usr/bin/php /usr/local/bin/notify.sh: not found
Run Code Online (Sandbox Code Playgroud)
而不是任何一个
/bin/sh: 1: /usr/bin/php: not found
Could not open input file: /usr/local/bin/notify.sh
Run Code Online (Sandbox Code Playgroud)
要分别传递程序/usr/bin/php
及其文件名参数/usr/local/bin/notify.sh
,请删除引用:
@hourly /usr/bin/php /usr/local/bin/notify.sh
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
75 次 |
最近记录: |