【问题标题】:Crontab configuration on CentOSCentOS 上的 crontab 配置
【发布时间】:2013-01-26 00:09:39
【问题描述】:

我有一个在 CentOS 上运行的 VPS 上运行的 Magento 安装。我一直在尝试使用此处找到的脚本实现备份解决方案:https://github.com/zertrin。它工作得很好,我的下一步是自动化它。尽管我付出了所有努力,但 Cron 作业并没有运行。这是我在 /etc/crontab 中得到的:

* 20 * * * root echo "Cron Worked $(date)" >> /tmp/cronworked.txt
#
* 16 * * 1-6 root /root/duplicity-backup.sh -c /etc/duplicity-backup.conf -b
#
* 4 * * 7 root /root/duplicity-backup.sh -c /etc/duplicity-backup.conf -f
#
* 20 * * 7 root /root/duplicity-backup.sh -c /etc/duplicity-backup.conf -n
#
* 20 * * * root echo "Cron Worked $(date)" >> /tmp/cronworked3.txt

我的两个测试 cron 作业(第一个和最后一个)都可以正常工作,但中间的那些命令却不行。如果我将它们作为独立命令发出但由于某种原因不是作为 Cron 作业发出,它们可以正常工作。

任何人都可以指导我弄清楚这不起作用吗?

【问题讨论】:

    标签: cron centos crontab


    【解决方案1】:

    您可以检查几件事:

    1. 确保/root/duplicity-backup.sh 是可执行的

    2. 如果您配置了本地邮件服务器,您应该会收到一封有关 cron 作业输出的电子邮件,这可能会告诉您出了什么问题

    3. 如果您没有收到来自 cron 作业的电子邮件,则将 stdout 和 stderr 重定向到一个文件。这应该有助于找出问题所在

    4. 在脚本名称前添加bash,以确保它以bash 运行,而不是其他东西,不知何故,像这样:

      * 4 * * 7 root bash /root/duplicity-backup.sh -c /etc/duplicity-backup.conf -f
      

    拥有脚本输出和错误消息应该会有所帮助。如果他们不这样做,请将它们粘贴在这里。

    【讨论】:

    • 我尝试了所有这些,但运气不佳。首先它不是可执行的,所以我让它可执行并尝试了,但它没有工作。然后我在它前面添加了 bash ,它也不起作用。我不知道如何将 stderr 和 stdout 重定向到文件,所以我做了一些搜索并将其添加到 cron 作业中。 '* 21 * * 1-6 root /root/duplicity-backup.sh -c /etc/duplicity-backup.conf -b >> /www/logs/crontab.shop.log 2>&1' 但我不能看到它生成一个日志文件。不过,我可以从 cron 日志文件中复制日志。刚刚意识到 stderr 和 stdout 的日志文件位置是错误的。刚刚更正了。
    • 我设法将错误写入该日志文件,现在可以 100% 确定它与 Cron 无关。我收到的消息是这样的,但不确定它是否是您可以帮助我的区域:'GPGError: GPG 失败,请参阅下面的日志:===== Begin GnuPG log ===== gpg: encrypted使用 RSA 密钥,ID 40416B44 gpg:解密失败:没有密钥 ===== 结束 GnuPG 日志 ====='
    • 不确定能否进一步帮助您,因为我对 GnuPG 和这个备份工具都不太熟悉。我可以说的是,当您在 shell 中运行脚本和在 cron 中运行脚本时,环境中显然有些不同。如果我不得不猜测它与您的 gpg-agent 有关。当您在 shell 中时,密钥会加载到代理中,但当您在 ​​cron 中运行它时不会加载,或者在 cron 中代理无法访问。调用脚本时可能需要设置一些环境变量,比如 GPG_AGENT_INFO 和 GPG_TTY
    • 别担心,伙计!至少我一开始就知道为什么它没有运行,感谢您的支持。
    猜你喜欢
    • 2012-07-18
    • 1970-01-01
    • 1970-01-01
    • 2014-03-15
    • 2016-01-04
    • 2016-10-23
    • 2016-07-25
    • 1970-01-01
    • 2015-02-27
    相关资源
    最近更新 更多