作业显示在 crontab -l 中,但不显示在 /etc/crontab 中

作业显示在 crontab -l 中,但不显示在 /etc/crontab 中

当我这样做时,就会出现一项特定的工作

$ crontab -l

我可以验证它也正在运行。但是,该作业未在 中列出/etc/crontab

假设这个作业是 /somedir/somefile 我似乎找不到它在 cron 中指定的位置

$ find /var/ -path *cron*  -exec grep somefile {} \; 2>e
$ find /etc/ -path *cron*  -exec grep somefile {} \; 2>e

什么也不显示。

如果我这样做crontab -e并删除该行,作业仍会运行并且 /etc/crontab 保持不变(因为它一开始就没有该行!)

我是一名普通用户(非管理员),/var 和 /etc 中的某些路径对我来说是无法访问的(这就是我执行 2>e 来重定向权限被拒绝错误的原因)。但是,该文件的 con job 命令应该是可以访问的,因为我可以在 中编辑它crontab -e

答案1

您看到的 crontab/etc/crontab是系统范围的 crontab,它以 root 身份运行,因此只能由 root 编辑。

当使用该crontab命令创建用户的 crontab 时,新的 crontab 会被放入其中/var/spool/cron/crontabs,并且文件的名称是拥有该 crontab 的用户。

相关内容