【问题标题】:Cron Job Doesn't RunCron 作业不运行
【发布时间】:2013-07-02 00:10:36
【问题描述】:

我是使用 crontab 的新手,我一直在尝试让一个简单的 cron 工作正常工作。 cron作业的代码如下:

 */1 * * * * echo "job every minute"

所以只是为了概念验证,我希望每分钟都能看到它打印出来。我已经尝试使用两者来保存这个 cron 作业

 sudo crontab -e

并通过将 crontab 文件 (cronscript) 保存在目录中并启用脚本,如下所示:

 crontab ~/Documents/MyProjects/cronscript

这是 cron 作业所在的路径。 正如我通过键入

验证的那样,两个相同的作业都已正确保存
  sudo crontab -e

和 crontab -e

进入终端,它们都出现了。我确保在每个命令之后保存了一个换行符,并检查以确保 cron 正在运行,使用

 pgrep cron

但是,我仍然没有将“每分钟的工作”打印到终端(每分钟),这是我认为这些命令应该做的。

我做错了什么?感谢您的帮助!

【问题讨论】:

  • 指定echo的完整路径,例如/bin/echo 或其他。

标签: shell ubuntu cron crontab cron-task


【解决方案1】:

cronjob 运行良好,但 cron 守护程序(据我所知一般是守护程序)无法访问标准输出,因此无法将消息输出到终端。

但是,要对其进行测试,您可以使用将您想要的内容输出到文件中

*/1 * * * * echo "job every minute" >>$HOME/filename

它将每分钟将文本输出(并连接)到主目录中名为“filename”的文件。

【讨论】:

  • 我尝试了这个修复,但它没有将输出保存到我​​的主目录。
  • 实际上,我在 crontab -e 中对其进行了更新,并且成功了!现在我正在尝试运行定义如下的 python 脚本 (crontest.py):#!/usr/bin/env python print("test") 该脚本保存在我的主目录中,并且我已将我的 cronjob 修改为以下内容: */1 * * * * $HOME/crontest.py 但是,它没有向控制台打印任何内容。有什么建议?抱歉,我不确定如何在 cmets 中获取代码块!
  • 确保你的 python 文件是可执行的。它仍然不会打印到任何终端。您必须像以前一样进行重定向。
  • Cron 不会打印到控制台,但可以输出到文件
猜你喜欢
  • 2014-11-02
  • 1970-01-01
  • 2013-11-18
  • 2013-07-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多