我vixie
在 Debian/Ubuntu 上使用 cron。如何设置 cron 读取的自定义目录?我想引导 crontab 运行在一系列文件中找到的命令,例如
/home/cron/*.cron
或完美
/home/*/cron/*.*
事实上,/var/spool/cron/crontab/root
我不想将 cron 命令放入 ,而是想将命令传播到这些文件夹中。
是否可以并建议用于调用文件include
内的其他文件?root
答案1
debian 中的 Cron 从 3 个位置读取命令 - 首先是用户 crontabs 中的命令/var/spool/cron/crontabs/$user
,然后读取全局文件/etc/crontab
,然后读取 中的所有文件/etc/cron.d
。
但每个用户不能轻易拥有多个 crontab。只有文件/var/spool/cron/crontabs
是每个用户的。另外两个是系统范围的,每行包含一个用户名,在该用户名下运行命令。您可以将这些单独的文件集成/链接到 中/etc/cron.d
,但用户将能够在 root 或其他用户下运行命令。
因此,如果每个用户一个 crontab 就可以了,只需从您的位置链接到/var/spool/cron/crontabs
.如果每个用户需要多个,那么您需要制作一个脚本来获取用户的 cron 文件,并针对系统范围的 crontab 对其进行修改(这意味着添加带有用户名的字段)并将其添加到/etc/cron.d
.