linux命令学习之crontab命令的使用定时任务
1、1 crontab命令的组成如下:
时程表的格式如下:
f1 f2 f3 f4 f5 program
minute hour day month week command 顺序:分 时 日 月 周
minute: 表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。 command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。这里举一个每分钟执行一次的例子:
crontab -e 中编辑并保存
输入命令:* * * * * /var/dingshi/date.sh
date.sh脚本内容为:
#!/bin/bash
date >> /var/dingshi/time.log
运行结果:
2017年 12月 14日 星期四 20:35:30 CST
2017年 12月 14日 星期四 21:31:01 CST
2017年 12月 14日 星期四 21:32:01 CST


2、2 每小时执行一次脚本
crontab -e 中编辑并保存
输入命令:* */1 * * * /var/dingshi/date.sh每天执行一次脚本
输入命令:* * */1 * * /var/dingshi/date.sh
每月执行一次脚本
输入命令:* * * */1 * /var/dingshi/date.sh

3、3 可以用各字段来表示取范围
星号(*):代表所有可能的值
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。
同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
例子:
1. 每月1、10、22日的4 : 45分 运行date.sh 脚本
输入命令: 45 4 1,10,22 * * /var/dingshi/date.sh
2.每天18 : 00至23 : 00之间每隔30分钟 运行date.sh 脚本
输入命令: 0,30 18-23 * * * /var/dingshi/date.sh
3晚上11点到早上7点之间,每隔一小时运行date.sh 脚本
输入命令: * 23-7/1 * * * /var/dingshi/date.sh

4、4 执行目录中内的脚本,每小时执行/var/dingshi/目录内的脚本crontab -e 中编辑并保存
输入命令:01 * * * * root run-parts /var/dingshi/

5、5 周一到周五每天下午 5:00 寄一封信给 alex@domain.name
输入命令:0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata
