将crontab条目放在crontab -e(默认位置为:/ var / spool / cron / username)和/ etc / crontab中有什么区别?我的意思是crond守护进程基本上会执行两个cron作业.那么为什么有两种不同的方式来安排cronjob?哪一个优先于另一个?
解决方法
不同之处在于crontab命令是系统为用户操作其crontabs提供的接口. / etc / crontab文件是用于实现系统范围的crontab的特殊案例文件. / var / spool / cron / crontabs / $USER(或者路径恰好是什么)是一个实现细节.
如果可以使用crontab命令调度作业,则应该这样做.
手动编辑/ etc / crontab(a)的内容需要root访问权限,(b)更容易出错.你可以用这种方式弄乱你的系统.
如果要在您自己的用户帐户下运行作业,则无需使用root访问权限.
即使作为root用户运行,使用crontab命令仍然更有意义. (首先,它应检测文件中的语法错误.)
就个人而言,我不使用crontab -e.相反,我有一个crontab文件,我保存在源代码管理系统中,我使用命令的crontab文件名形式来安装它.这样,如果我搞砸了,很容易恢复到早期版本.