【问题标题】:Issues with croncron 的问题
【发布时间】:2012-05-16 04:10:22
【问题描述】:

我真的被困住了。我在很多机器上都使用过 cron,但我根本无法让它在 Ubuntu 服务器上运行。周末我已经尝试了我能想到的一切,但我很困惑。我希望有人可以帮助我。

我可以通过pgrep cron 验证 cron 是否正在运行。但是,pgrep crond 什么也不返回。我正在尝试使用 cron 运行一个简单的 shell 脚本(test.sh):

#!/bin/sh
/usr/bin/touch /home/jarvis/test.txt

我在 shell 脚本上运行了chmod +x,我的 crontab 看起来像这样:

01 * * * * /home/jarvis/test.sh

我也有一个新行在该行之后结束。

【问题讨论】:

  • 也许这属于这里:askubuntu.com ?
  • 我也在 Red Hat 上尝试了相同的命令,但它也不起作用,所以我认为问题不在于 Ubuntu。

标签: unix ubuntu cron


【解决方案1】:

尝试将所有输出重定向到一个文件,看看是否有任何错误消息可以帮助您诊断问题,即

01 * * * * /home/jarvis/test.sh > /tmp/jarvis_test.log 2>&1

另外,如果您是在 Windows 环境中创建的任何这些文件,请不要忘记dos2unix filename

编辑 我的观点是,除非您查看脚本是否输出错误消息,否则您不会知道脚本在 crontab 环境中执行的操作。错误消息也会发送到本地 crontab 用户的电子邮件,因此请尝试 mail(作为同一用户),看看您是否有一堆来自 crontab 的消息。


pgrep crond 什么都不返回听起来像是问题,但我不是系统管理员。也许你想标记这个并要求版主转移到https://serverfault.com/

我希望这会有所帮助。

【讨论】:

  • 感谢您的帮助。我可以运行./test.sh,并且该命令可以正常工作,即。创建一个名为 test.txt 的新文件。我不确定你的命令应该如何工作。您可以将 cron 重定向到日志文件吗?
  • TMy 示例是一个 cron 条目。请注意,除了最后的重定向之外,它与您的 cmd 相同。另请参阅编辑。
  • 好的,我想我们现在正在取得进展。当我听从你的建议时,我得到:0 zsh: command not found: 01
  • 前导 0 是否在单独一行?你是如何使用 cron 的?您知道如何使用 Unix 编辑器(vi 或 emacs)还是涉及 MS Windows 托管编辑器?你通常使用zsh吗? (看到这一点真是令人惊讶)。祝你好运。
  • 啊,对不起,我不小心复制了前导行号(我使用 Vim)。我仍然在使用 cron 时遇到问题。感谢您的帮助,如果我发现问题,我会在这里发布。
【解决方案2】:

我认为这与用户权限有关。尝试输入默认的 crontab 每小时、每周文件,如果它在那里工作,那么你的 cron 就很好。此外,检查 /var/log/messages 是否有任何 cron 条目。详细配置请查看/etc/crontab。

【讨论】:

    猜你喜欢
    • 2011-04-17
    • 2014-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 2011-10-29
    • 2020-09-25
    相关资源
    最近更新 更多