Crontab 未运行

Crontab 未运行

可能重复:
crontab 不起作用的原因

我设置了一个 crontab,每分钟运行一个 shell 脚本。这是我的 crontab 文件:

* * * * * sh /var/www/stuff/public_html/recycle.sh

这个 crontab 根本无法运行,但如果我单独运行 shell 脚本,它就可以完美运行。有人能解释为什么会发生这种情况吗?其他可能有用的信息:

  • 操作系统:Ubuntu 10.04
  • 运行 crontab 的用户:root

答案1

这可能是权限问题吗?

另外 - 尝试在脚本中添加电子邮件地址,以便任何输出(错误等)都可以通过电子邮件发送给您。

您可以通过添加以下内容来实现: [电子邮件保护]

编辑:我看到您正在以 root 身份运行,之前错过了这一点……

脚本是否可能使用了 root 没有的环境变量?即,您可能不想使用“python”,而是想使用 /bin/python(或其他任何变量)

答案2

在根电子邮件帐户中查找电子邮件。

也许你真的想要

\* \* \* \* \* sh -c "/var/www/stuff/public_html/recycle.sh"

我认为整个“sh -c”可能是多余的,所以只需使用命令尝试一下/var/www.....

更好的是,捕获输出,然后您就知道它运行了,并且您可以将 stdout/stderr 捕获到一个文件中以供以后检查。

\* \* \* \* \* sh /var/www/stuff/public_html/recycle.sh > /tmp/myProj/recycle_sh.trace_log 2>&1

有些 crontab 理解顶部的单独一行,例如

[email protected]

我希望这有帮助。

相关内容