我创造了一个' 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'这应该没问题?谁能看到我错在哪里?
由于
答案 0 :(得分:1)
所以,经过几个小时的搜索,我发现了一些愚蠢的东西。我从crontab文件中省略了'bash'命令。
我改变了我的路线:
现在正在运行。