【发布时间】:2017-09-24 11:55:37
【问题描述】:
我正在尝试添加每日 cron 作业来备份数据库。我可以通过运行sh /path/to/file/backup.sh 手动执行此操作,但是当我将文件放在 cron.daily 目录中时,它不会每天运行。为了尝试诊断它,我在 cron.daily 中创建了一个名为 test 的测试文件,以查看它是否会运行。当我运行run-parts --test /etc/cron.daily 时,我得到了输出
/etc/cron.daily/apache2
/etc/cron.daily/apt
/etc/cron.daily/bsdmainutils
/etc/cron.daily/dpkg
/etc/cron.daily/etckeeper
/etc/cron.daily/logrotate等
然后我尝试将 logrotate 的内容复制到一个新文件,进行测试,然后再次运行 run-parts,但结果相同。
测试:
#!/bin/sh
test -x /usr/sbin/logrotate || exit 0
/usr/sbin/logrotate /etc/logrotate.conf
我需要做一些特别的事情来让 cron 识别 cron.daily 中新添加的任务吗?
这不是 cron.daily 独有的,我也尝试过每月、每周和每小时,结果相同。我也试过重启 cron 没有成功。我在 Debian 7.2 上运行它。
【问题讨论】:
-
您的新文件的权限是否与其他文件的权限匹配(0644)?
-
@BradBales welp 这似乎可以解决问题。我更改了文件的权限以匹配其他文件,并使用
run-parts运行 cron.daily,它们都运行了。谢谢你,伙计。如果你能从中得出一个答案,我会接受。 -
谢谢,@notblakshelton!上次我与 cron 搏斗时,我的文件名中有一个点,但无法弄清楚它为什么没有运行:)