linux 定时器/etc/crontab

(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身份去执行。

猜你喜欢

转载自hbiao68.iteye.com/blog/2081969
今日推荐