新添加的作业未在cron.daily中运行

新添加的作业未在cron.daily中运行,cron,cron-task,Cron,Cron Task,我正在尝试添加一个日常cron作业来备份数据库。我可以通过运行sh/path/to/file/backup.sh来手动执行,但是当我将文件放在cron.daily目录中时,它不会每天运行。为了尝试并诊断它,我在cron.daily中创建了一个名为test的测试文件,以查看它是否可以运行。当我运行运行部件--test/etc/cron.daily时,我得到了输出 /etc/cron.daily/apache2 /etc/cron.daily/apt /etc/cron.daily/bsdmai

我正在尝试添加一个日常cron作业来备份数据库。我可以通过运行
sh/path/to/file/backup.sh来手动执行,但是当我将文件放在cron.daily目录中时,它不会每天运行。为了尝试并诊断它,我在cron.daily中创建了一个名为test的测试文件,以查看它是否可以运行。当我运行
运行部件--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的内容复制到一个新文件atest,然后再次运行runparts,但结果相同

atest:

#!/bin/sh

test -x /usr/sbin/logrotate || exit 0
/usr/sbin/logrotate /etc/logrotate.conf
要让cron识别cron.daily中新添加的任务,我需要做些特殊的事情吗?


这并不是cron.daily所独有的,我也尝试过monthy、weekly和hourly,结果都是一样的。我还尝试重新启动cron,但没有成功。我在Debian 7.2上运行此功能。

有两种方法可以防止/etc/cron*目录中的文件运行(例如/etc/cron.daily):

  • 权限。确保文件的权限为0644

  • 文件名必须满足某些条件。从文档中可以看出:“……它们必须完全由字母、数字组成,并且只能包含特殊符号、下划线(“”)和连字符(“-”)。任何不符合这些要求的文件都不会由运行部件执行


  • 有两种方法可以防止/etc/cron*目录中的文件运行(例如/etc/cron.daily):

  • 权限。请确保文件的权限为0644

  • 文件名必须满足某些条件。从文档中可以看出:“……文件名必须完全由字母、数字组成,并且只能包含特殊符号、下划线(“”)和连字符(“-”)。运行部件将不会执行任何不符合这些要求的文件


  • 您的新文件的权限是否与其他文件(0644)的权限匹配?@BradBales welp,似乎就是这样做的。我更改了文件的权限以匹配其他文件,并使用
    runparts
    运行cron.daily,它们都运行了。谢谢你,伙计。如果你能从中得出答案,我会接受的。谢谢,@notblakshelton!上一次我与cron搏斗时,我的文件名中有一个点,无法理解为什么它没有运行:)您的新文件的权限是否与其他文件的权限匹配(0644)?@BradBales welp似乎就是这样做的。我更改了文件的权限以匹配其他文件,并使用
    runparts
    运行cron.daily,它们都运行了。谢谢你,伙计。如果你能从中得出答案,我会接受的。谢谢,@notblakshelton!上次我与cron搏斗时,我的文件名中有一个点,无法理解为什么它没有运行:)