linux命令学习之crontab命令的使用定时任务
本经验介绍在linux系统中所要使用到的系统命令,这里教大家学习linux命令之
crontab命令的使用定时任务。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会
自动执行该工作,而linux任务调度的工作主要分为以下两类:
1系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存
2、个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置
操作方法
- 01
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
- 02
2 每 小时执行一次脚本 crontab -e 中编辑并保存 输入命令: * */1 * * * /var/dingshi/date.sh每 天执行一次脚本 输入命令: * * */1 * * /var/dingshi/date.sh 每 月执行一次脚本 输入命令: * * * */1 * /var/dingshi/date.sh
- 03
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
- 04
4 执行目录中内的脚本,每小时执行 /var/dingshi/目录内的脚本crontab -e 中编辑并保存 输入命令: 01 * * * * root run-parts /var/dingshi/
- 05
5 周一到周五每天下午 5:00 寄一封信给 alex@domain.name 输入命令: 0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata