【问题标题】:Trouble getting CRON job running on VPS无法在 VPS 上运行 CRON 作业
【发布时间】:2016-08-21 16:41:05
【问题描述】:

我在我的 VPS 上创建了一个“sh”脚本,它会复制文件系统和 SQL,并将它们保存到我将要推送到备份媒体的同一个文件夹中。我知道我的脚本正在为此工作,因为当我以 root 身份通过 SSH 登录并手动运行命令时,它会创建一个 zip 文件和 SQL 备份,但我为执行此脚本而创建的 CRONjob 不起作用。我在 '/etc/crontab' 中创建了以下 cron 作业:

    SHELL=/bin/sh
    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

   # m h dom mon dow user  command
   17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
   4 6 * * *       root    test -x /usr/sbin/anacron || ( cd / && run-    parts --report /etc/cron.daily )
   20 1 * * 7      root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
   51 5 1 * *      root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
    * * * * *      root    /home/backup/test.sh 

第 5 个条目是我创建的用于测试的条目。路径是正确的,我按照之前的说明使用了绝对路径。我编写了一个名为 test/sh 的简单脚本,它将一些文本输出到文件 (test.txt) 以测试 CRON 作业,但它不起作用。我正在使用命令“tail -f”来监视对文本文件的更改,并且它永远不会被调用。该脚本在手动执行时有效。

这是简单的“test.sh”文件。这在手动调用时可以正常工作。

#!/bin/bash

echo "Dumping at:  $(date)" >> /home/backup/test.txt                                                                                                                                                                        

我知道可能存在权限问题,但我认为如果我以“root”身份执行此操作应该没问题吗?谁能看出我哪里出错了?

谢谢

【问题讨论】:

  • test.sh 包含什么?具体来说,它是如何引用 test.txt 的? - 它使用绝对路径?请记住,当 cron 运行您的脚本时,它不会在您手动运行时所在的目录中。
  • 您是否检查了 crontab 标签的info wikiDebugging crontab 下列出的所有内容?
  • 我会将test.sh的内容添加到原帖中。抱歉,我忘了这样做
  • 您是否使用 chmod +x /home/backup/test.sh 更改了脚本权限?它可以从控制台工作吗?为什么要编辑 /etc/crontab 用户命令“crontab -e”。

标签: linux ssh cron sh crontab


【解决方案1】:

所以,经过几个小时的搜索,我意识到了一些愚蠢的事情。我从 crontab 文件中遗漏了“bash”命令。

我把我的线路改成了这样:

          • root bash /home/backup/test.sh

它现在正在运行。

【讨论】:

    猜你喜欢
    • 2011-11-17
    • 2012-02-16
    • 2014-12-17
    • 2015-09-20
    • 2014-02-02
    • 2023-04-02
    • 2017-12-17
    • 1970-01-01
    • 2015-03-22
    相关资源
    最近更新 更多