功能说明:设置计时器
语法:crontab [-u <用户名称>][配置文件] 或 crontab [-u <用户名称>][-elr]
补充说明:cron是一个常驻服务,它提供计时器的功能,让用户在特定的时间得以执行预设的指令或程序。只要用户会编辑计时器的配置文件,就可以使用计时器的功能。
其配置文件格式如下:
参 数:
crontab -e 编辑该用户的计时器设置。
crontab -l 列出该用户的计时器设置。
crontab -r 删除该用户的计时器设置。
crontab -u<用户名称> 指定要设定计时器的用户名称。
代表意义 | 分钟 | 小时 | 日期 | 月份 | 周 | 命令 |
数字范围 | 0~59 | 0~23 | 0~31 | 0~12 | 0~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,意思相同 |
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
周一到周五,每五分钟执行。