当我这样做时,就会出现一项特定的工作
$ 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 的用户。