/etc/cron.d 下的文件如何使用?
来自 https://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/
cron 读取 /etc/cron.d/ 目录中的文件。通常系统守护进程,如 sa-update 或 sysstat 将它们的 cronjob 放置在这里。作为 root 用户或超级用户,您可以使用以下目录来配置 cron 作业。 你可以直接把你的脚本放在这里。run-parts 命令通过 /etc/crontab 文件运行目录中的脚本或程序:
/etc/cron.d/ 将所有脚本放在这里并从 /etc/crontab 文件中调用它们。
在 Lubuntu 18.04 上,/etc/cron.d 下的文件似乎是 crontab 文件而不是 shell 脚本(在上面的链接中提到):
$ cat /etc/cron.d/anacron
# /etc/cron.d/anacron: crontab entries for the anacron package
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
30 7 * * * root [ -x /etc/init.d/anacron ] && if [ ! -d /run/systemd/system ]; then /usr/sbin/invoke-rc.d anacron start >/dev/null; fi
我的 /etc/crontab 文件从不引用 /etc/cron.d 下的文件,这与链接所说的相反:
$ cat /etc/crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
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
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
你能解释一下 /etc/cron.d 下的文件是如何使用的吗?谢谢。
在包括 Lubuntu 在内的 Debian 衍生产品中,其中的文件
/etc/cron.d
实际上是/etc/crontab
具有相同格式的片段。引用手册页:cron
特定于 Debian 的部分暗示了系统管理员不应使用的原因
/etc/cron.d
:它旨在允许软件包安装 crontab 片段,而无需修改
/etc/crontab
.