(1)首先确定系统是否已经安装cron相关的包:
[root@localhost ~]# rpm -qa |grep cron
如果有类似一下信息则说明已经安装:
vixie-cron-4.1-54.FC5
anacron-2.3-36.1
crontabs-1.10-7.1
(2)cron配置文件被修改后,想让新文件生效,必须重新crond服务器,有两种方法可供选择;
1.在Fedora或Redhat 等以RPM包管理的系统中:
[root@localhost ~]# /etc/init.d/crond start
[root@localhost ~]# /etc/init.d/crond stop
[root@localhost ~]# /etc/init.d/crond restart
如果想自动开机运行:
[root@localhost ~]# chkconfig --levels 35 crond on
2.通用:
[root@localhost ~]# pgrep crond 注:判断crond 是否在运行
[root@localhost ~]# pkill crond 注:杀掉正在运行中的crond
[root@localhost ~]# pgrep crond 注:查看是否被杀掉了
[root@localhost ~]# /usr/sbin/crond 注:运行crond
(3)打开配置文件:
[root@localhost ~]# more /etc/crontab
我们发现有类似这些行;
1 * * * * root run-parts /etc/cron.hourly
注:表示每个小时的第一分钟,开始执 行/etc/cron.hourly目录下的可执行程序或脚本
2 4 * * * root run-parts /etc/cron.daily
注:表示每天的4点2分,开始执行/etc/cron.daily目录下的可执行程序或脚本
22 4 * * 7 root run-parts /etc/cron.weekly
注:每年第7个周4点22分,开始执行 /etc/cron.weekly目录下的可执行程序或脚本
42 4 1 * * root run-parts /etc/cron.monthly
注:每月第1天的4点42分,开始执行/etc/cron.monthly目录下的可执行程序或脚本
(4)cron配置文件的格式:
分钟 小时 日 月 周 [用户名] 命令
说明:
第一段应该定义的是:分钟,表示每个小时的第几分钟来执行。范围是从0-59
第二段应该定义的是:小时,表示从第几个小时来执行,范围是从0-23
第三段应该定义的是:日期,表示从每个月的第几天执行,范围从1-31
第四段应该定义的是:月,表示每年的第几个月来执行,范围从1-12
第五段应该定义的是:周,表示每周的第几天执行,范围从0-6,其中 0表示星期日。
每六段应该定义的是:用户名,也就是执行程序要通过哪个用户来执行,这个一般可以省略;
第七段应该定义的是:执行的命令和参数。
(5)举例:
shell下输入crontab -e
加入以下内容:
#backup logs of xfs at the 28 day per month 00 2 28 * * root run-parts /usr/local/XFS/logbackup.sh
注:表示每月的28号的凌晨2点开始执行/usr/local/XFS/logbackup.sh脚本
#del backup logs at the first day of July of per year 00 2 1 7 * root run-parts /usr/local/XFS/del_log.sh
注:表示每年的7月1号凌晨2点开始执 行/usr/local/XFS/del_log.sh脚本
run-parts命令说明
# mkdir /etc/cron.min */5 * * * * root run-parts /etc/cron.min
以上的意思是说明,每5分钟执行/etc/cron.min目录下的所有脚本,run-parts就是说明执行目录下的所有的脚本的意思,root的话就说明已root身份去执行。