系统Crontab或根Crontab


10

系统crontab:

/etc/crontab

根crontab:

sudo crontab -u root -e

首选哪种方式?因为它们都在管理权限内运行任务。

Answers:


15

/etc/crontab 是系统范围的crontab。

的格式/etc/crontab如下:

# m h dom mon dow user      command
*   *  *   *   *  someuser  echo 'foo'

虽然crontab -e是每个用户,但值得一提的是不带任何-u参数的crontab命令转到当前用户crontab。您可以crontab -e -u <username>编辑特定用户的crontab。

请注意,在每个用户的crontab中,没有“用户”字段。

# m h  dom mon dow  command
*   *   *   *   *   echo 'foo'

crontab的一个方面可能令人困惑,那就是root也有自己的crontab。例如,crontab -e -u root将不会编辑。/etc/crontab 请参阅配置cron

在Linux发行版中,每个用户的crontab通常存储在: /var/spool/crontabs/<username>

参考文献

/superuser/290093/difference-between-etc-crontab-and-crontab-e


2
正如Congiruring cron所说:通常无需为root创建用户crontab。真的吗?我的意思是标准方法是编辑/ etc / crontab,对吗?
Pei Z

2
没有“标准”方式,因此您可以同时拥有两个文件。我通常会编辑root的crontab并回避/etc/crontab,因为我已经习惯了crontab -e
2014年

7

/etc/cron.d(及其兄弟版本cron.daily / weekly / monthly)是所有系统crontab的首选。您无需触摸/ etc / crontab。

如果您计划管理或自动化事物,则必须根据文件的功能将cron条目分隔在多个文件中。/etc/cron.d下的文件可以通过软件包或配置管理工具(例如puppet和Chef)轻松管理。Root的crontab OTOH实际上是人类无法维护的。

简而言之,对于系统而言,您可以使用/etc/cron.*。如果您希望root用户执行某些操作,请使用root的crontab。/ etc / crontab应该保持不变,并由软件包进行管理。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.