Centos 利用Crontab定时执行任务及配置方法

作者: 管理员 分类: 系统运维 发布时间: 2019-08-25 14:18
    1、crontab命令
功能说明:设置计时器
语法:crontab [-u <用户名称>][配置文件] 或 crontab [-u <用户名称>][-elr]
补充说明:cron是一个常驻服务,它提供计时器的功能,让用户在特定的时间得以执行预设的指令或程序。只要用户会编辑计时器的配置文件,就可以使用计时器的功能。
其配置文件格式如下:
参 数:
crontab -e  编辑该用户的计时器设置。
crontab -l  列出该用户的计时器设置。
crontab -r  删除该用户的计时器设置。
crontab -u<用户名称>  指定要设定计时器的用户名称。
    2、crontab 格式
代表意义分钟小时日期月份命令
数字范围0~590~230~310~120~7需要执行的命令

需要注意的是,一共只有5个区间,最后一个才是周,周中0和7都代表星期天,而且周还可以用英文缩写代替,如:Mon、Tues、Wed、Thur、Fri、Sat、Sun(字母大小写都可)

  • 另外,还有一些辅助的字符,大概有下面这些:
特殊字符代表意义
*(星号)代表任何时刻都接受的意思。举例来说,范例一内那个日、月、周都是*,就代表着不论何月、何日的礼拜几的12:00都执行后续命令的意思。
,(逗号)代表分隔时段的意思。举例来说,如果要执行的工作是3:00与6:00时,就会是:0 3,6 * * * command时间还是有五列,不过第二列是 3,6 ,代表3与6都适用
-(减号)代表一段时间范围内,举例来说,8点到12点之间的每小时的20分都进行一项工作:20 8-12 * * * command仔细看到第二列变成8-12.代表 8,9,10,11,12 都适用的意思
/n(斜线)那个n代表数字,即是每隔n单位间隔的意思,例如每五分钟进行一次,则:*/5 * * * * command用*与/5来搭配,也可以写成0-59/5,意思相同
    3、crontab文件的一些例子
30 21 * * * /usr/local/apache/bin/apachectl restart
上面的例子表示每晚的21:30重启apache。

45 4 1,10,22 * * /usr/local/apache/bin/apachectl restart
上面的例子表示每月1、10、22日的4 : 45重启apache。

10 1 * * 6,0 /usr/local/apache/bin/apachectl restart
上面的例子表示每周六、周日的1 : 10重启apache。

0,30 18-23 * * * /usr/local/apache/bin/apachectl restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。

0 23 * * 6 /usr/local/apache/bin/apachectl restart
上面的例子表示每星期六的11 : 00 pm重启apache。

* */1 * * * /usr/local/apache/bin/apachectl restart
每一小时重启apache

* 23-7/1 * * * /usr/local/apache/bin/apachectl restart
晚上11点到早上7点之间,每隔一小时重启apache

0 11 4 * mon-wed /usr/local/apache/bin/apachectl restart
每月的4号与每周一到周三的11点重启apache

0 4 1 jan * /usr/local/apache/bin/apachectl restart
一月一号的4点重启apache

35 * * * * updatedb
每隔一小时35分钟的时候更新一次数据库。

*/5 * * * * /usr/local/bin/diskusage.sh
每隔5分钟运行diskusage.sh文件。

25,50 1 15 * 2 /usr/local/bin/diskusage.sh
每周二1:50AM执行文件

00 14 10 3,6,9,12 * /usr/local/bin/diskusage.sh
每年3、6、9、12月份第十天下午2点执行。

00 21 * * Mon,Wed,Fri /usr/local/bin/diskusage.sh admin@laozuo.org
每周一、三、五下午9点执行脚本

*/5 * * * 1-5 /usr/local/bin/diskusage.sh
周一到周五,每五分钟执行。

发表评论

电子邮件地址不会被公开。