crontab -e vs / etc / crontab中的cronjob条目。哪一个更好?

时间:2014-03-05 16:14:04

标签: linux cron centos scheduled-tasks crontab

将crontab条目放在crontab -e(默认位置为:/ var / spool / cron / username)和/ etc / crontab中有什么区别?我的意思是crond守护进程基本上会执行两个cron作业。那么为什么有两种不同的方式来安排cronjob?哪一个优先于另一个?

1 个答案:

答案 0 :(得分:12)

不同之处在于crontab命令是系统为用户操作其crontabs提供的接口。 /etc/crontab文件是用于实现系统范围的crontab的特殊案例文件。 /var/spool/cron/crontabs/$USER(或者无论路径是什么)都是一个实现细节。

如果您可以使用crontab命令安排作业,则应该这样做。

手动编辑/etc/crontab(a)的内容需要root访问权限,(b)更容易出错。你可以用这种方式弄乱你的系统。

如果要在您自己的用户帐户下运行作业,则无需使用root访问权限。

即使作业以root运行,使用crontab命令仍然更有意义。 (首先,它应该检测文件中的语法错误。)

就个人而言,我不使用crontab -e。相反,我有一个crontab文件,我保存在源代码管理系统中,我使用命令的crontab filename形式来安装它。这样,如果我搞砸了,很容易恢复到早期版本。