我应该使用cron.hourly还是crontab?

看来所有使用/调度awstats的build议都是通过crontab来实现的,例如: 0 * * * * /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=mysite -update >/dev/null (每小时运行awstats)。

但是,如果我检查crontab -l ,它说我的用户crontab是空的。

但是,当我检查/etc/cron.hourly ,我有一个awstats文件,其中包含以下内容:

 #!/bin/bash exec /usr/share/awstats/tools/awstats_updateall.pl now -configdir="/etc/awstats" -awstatsprog="/usr/share/awstats/wwwroot/cgi-bin/awstats.pl" >/dev/null exit 0 

只是为了让你知道,我的awstats更新很好,它创build的报告,一切都很好。

运行crontab命令是否在指定的cron文件夹中创build一个条目? (即cron.hourly或cron.daily等)? 或者他们是不相关的? 如果他们是相关的,为什么我的用户没有crontab条目?

    crontab -e是创buildcrontab的传统方式。 我发现它是尴尬和老式的,但人们仍然使用它。

    /etc/cron.hourly ,包括cron.dailycron.weekly/etc/cron.d等等,都是由大多数Linux发行版提供的,因为它们非常方便,可以很好地与包pipe理器和configurationpipe理系统等自动化工具配合使用。 与脚本编辑现有的crontab相比,包pipe理器很容易将文件放入/etc/cron.hourly/foo 。 以编程方式编辑文件通过包pipe理器可能会损坏文件,添加重复的条目,删除错误的行,搞砸了评论等。请参阅Editfiles认为有害的一些讨论,因为这个问题已经存在了一段时间。

    运行crontab命令是否在指定的cron文件夹中创build一个条目?

    /etc/cron.daily/foo是由包pipe理器创build的,或者是由手工创build的。 运行crontab命令时不会创build它。 crontab -e将在/var下创buildcrontab,比如/var/spool/cron/root

    我更喜欢/etc/cron.$period/foo/etc/cron.d因为这个层次结构是整齐有序的,并且很容易为我的configurationpipe理系统编写脚本。 /etc/crontab在Linux上也是可用的,但是它有点庞大而且很难通过编程来编辑。 像FreeBSD这样的系统支持/etc/crontab/etc/periodic