【问题标题】:Cron job doesn't work, no errorsCron 作业不起作用,没有错误
【发布时间】:2017-08-26 05:03:34
【问题描述】:

crontab

*/2 * * * * /usr/bin/curl --silent https://mywebsite.com/somescript &>/dev/null
* * * * * env > /tmp/env.output

系统日志

Aug 26 04:36:01 web CRON[2931]: (root) CMD (/usr/bin/curl --silent https://mywebsite.com/somescript &>/dev/null)
Aug 26 04:36:01 web CRON[2932]: (root) CMD (env > /tmp/env.output)

...这两个命令都按计划运行,它们似乎在运行,但看起来并没有被执行,因为我没有看到任何 env.output 文件。

没有错误,我不知道发生了什么以及如何解决这个问题。

编辑:最后还有一个换行符。

【问题讨论】:

  • 也许SHELL 变量指向一个不能正确调用命令的自定义shell 脚本? (SHELL=/path/to/shell-wrapper)。还要检查PATH 是否正确。尝试其他位置,例如$HOME/test.output
  • @RuslanOsmanov 啊,就是这样!默认外壳是/bin/sh,但实际上是/bin/bash。改变了它,它的工作原理。谢谢大家!

标签: cron debian


【解决方案1】:

试试:

printenv > /tmp/env.output

【讨论】:

  • 再次Aug 26 05:15:01 web CRON[3384]: (root) CMD (printenv > /tmp/env.output),但没有创建文件
  • 可能是权限问题,tmp对所有用户/组都可写吗?
  • drwxrwxrwt 9 root root 4096 Aug 26 05:27 tmp 我以 root 身份运行
  • 您的 crontab 文件末尾是否有换行符?最后是必填项。
  • 是的,请看我的描述。
【解决方案2】:

默认 shell 是 /bin/sh,而它应该是 /bin/bash。改变了它,它的工作原理。

【讨论】:

    猜你喜欢
    • 2015-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-25
    • 2014-04-06
    • 1970-01-01
    • 2016-07-21
    相关资源
    最近更新 更多