使用 crontab -u 时 Cronjobs 不显示-l

使用 crontab -u 时 Cronjobs 不显示-l

我直接将一些工作添加到

/etc/crontab

文件。它们运行良好。但是,如果我使用crontab‍‍‍‍‍‍‍‍‍ 命令

crontab -u <user> -l

我是否必须以某种方式重新索引该文件或者这可能是由于格式不良造成的?

答案1

用户 crontab 存储在 中/var/spool/cron/crontabs/。您不能使用crontab命令查看或编辑系统 crontab /etc/crontab

请注意,只有系统 crontab 在日期后包含用户字段。用户 crotab 条目始终由相应的用户运行,因此它们不需要用户字段。

答案2

不,您使用的是两个不同的系统。

crontab -u <user> -l

将列出所有使用 添加的作业crontab -e

/etc/crontab

不是另一个程序的一部分,crontab而是来自另一个程序。

两者都是为了历史兼容性而存在的。最大的区别在于权限。用户 cron 作业将以该用户的权限运行,系统 cron 作业将以 root 的权限运行。/etc/crontab尝试通过在列中添加“用户”来解决这个问题。

我建议选择一个并坚持使用它。它很快就会变得混乱。我最喜欢的是,/etc/crontab除非你需要隐藏某些东西,否则我会从“root”使用 crontab。

答案3

这是正常的。当您添加行时,/etc/crontab它实际上不是归因于配置文件,而是归因于系统。

如果你想给用户添加 crontab:

crontab -e -u  <user>

/var/spool/cron如果您想查看文件,则用户的 crontab 存储在该文件夹中 。

相关内容