CentOS 5.x
我注意到有人(大概是另一个管理员)直接在底部添加了一个条目,/etc/crontab
因此内容如下:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
00 3 * * 0 root foocommand
假设我确实希望该命令以 root 身份运行,那么以这种方式添加计划任务会产生后果吗?我更习惯使用crontab -e
添加/编辑计划任务。
答案1
与运行 crontab 文件中的命令没有区别。至少 Vixie cron(如在 CentOS 上)每分钟检查一次 spool 目录的修改时间或 的修改时间是否/etc/crontab
已更改。
但是,如果您通过 编辑crontab -e
,并写入 crontab,将检查是否存在明显的错误。例如,如果 crontab 的最后一行是,* * * *
您将收到消息:
crontab: installing new crontab
"/tmp/crontab.HbT2Sa/crontab":27: bad day-of-week
errors in crontab file, can't install
Do you want to retry the same edit? (y/n)
(至少如果最后一行是第 27 行)。
crontab
如果您只是向文件添加行(/etc/crontab
或者 中的行/var/spool/cron/
),那么这样的检查机制当然不会到位。