无法在VPS上运行CRON作业

时间:2016-04-27 11:47:38

标签: linux ssh cron sh crontab

我创造了一个' sh'我的VPS上的脚本,它创建了文件系统和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 

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

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

#!/bin/bash

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

我知道可能存在权限问题,但我想如果我执行此操作是因为' root'这应该没问题?谁能看到我错在哪里?

由于

1 个答案:

答案 0 :(得分:1)

所以,经过几个小时的搜索,我发现了一些愚蠢的东西。我从crontab文件中省略了'bash'命令。

我改变了我的路线:

          • root bash /home/backup/test.sh

现在正在运行。