$crontab -e 最终会更新 /etc/crontab 吗?

does $crontab -e eventually updates /etc/crontab?

我正在研究 CRON 和调度。 我通过 $crontab -e + 编辑文件(奇怪地命名为“/tmp/crontab.vst6TX/crontab”)设置了每分钟触发的预定作业

我的理解是 $crontab -e 打开了一个 crontab... 然后守护进程 cron.d 获取了 crontab 并将其中的 cron 作业附加到(系统范围)/etc/crontab. (根据 crontab being saved in tmp/ in debian 的评论)

我每分钟都在观察 cron 作业启动 - 但我看不到它被添加到 /etc/crontab 作业列表中...为什么? $crontab -l 确实显示了工作...

crontab -ecrontab -l 分别编辑和显示 current 用户的 crontab 文件(物理上位于 /var/spool/cron/crontabs ).因此,每个用户都可以在该目录中拥有自己独立的 crontab 文件。因此,当您 运行 crontab -e 并添加了一个 cron 行时,您 运行 crontab -l 可能是同一用户,因此看到了您添加的行。

/etc/crontab 是一个完全不同的文件。您是对的,它是系统范围的——请注意该文件中的 cron 行指定了一个用户。 /etc/cron.d中的文件也是如此,文件中的cron行会指定一个用户。

哦,还有,cron.d 中的 .d 后缀不是指守护进程。检查此 post