cron 命令的自定义目录

cron 命令的自定义目录

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.

相关内容