编写计划任务比较喜欢crontab -e,可是这和直接vim /etc/crontab有什么区别呢?为什么做完计划任务,/etc/crontab没有呢?
方法1:使用命令 crontab -e 然后直接编辑定时脚本。
这样执行以后,属于用户自定义的,会被写到 /var/spool/cron 目录下,生成一个和用户名一致的文件,文件内容就是我们编辑的定时脚本。
[[email protected] ~]# crontab -l
0 */1 * * * /root/mailjiankong.sh
*/5 * * * * /root/2.sh
0 07 * * * /root/3.sh
0 19 * * * /root/4.sh
0 */1 * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1
[[email protected] ~]#
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
方法2:
使用命令 vi /etc/crontab 编辑定时脚本。
[[email protected] ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
[[email protected] ~]#
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
大致区别:
1、crontab 会进行语法检查,vi/vim 不会。
2、crontab -e是用户级别,而vim /etc/crontab是系统级别。
3、crontab -e是某个用户的周期计划任务;/etc/crontab是系统的周期任务。
4、 不管用 crontab -e or 改 /etc/crontab 都不需要重新启动 crond 服务。
建议:crontab 一般足够满足需求,而且还能检查语法,比较建议使用!