标签:linux-计划任务
备注:此笔记总结于马哥课堂笔记
2015-09-16
linux-计划任务
定义:
所谓的计划任务自认为就是服务器每天都有访问压力大的时候和压力小的时候,而根据我们的日常维护所得出一般服务器夜里压力比较小,而我们比如在执行大的操作的时候必须要避开服务器业务高峰和服务器压力过大的时候,所以我们会选择在夜里做操作,而这些操作只是执行一条命令而已,我们为了我们亲身等到后半夜来执行命令,那么我们就用到了计划任务的功能,计划任务也就是一次性或者周期性执行的任务;那么这样linux就为我们准备了两种计划任务,一种是只会执行一次at计划任务和一种可以周期性执行的cron计划任务。
at计划任务
也就是一次性计划任务
用法:
at 选项 时间
时间分为:
绝对时间 所谓的绝对时间就是在几点几分或者哪一年几月的几号几时几分 格式为:HH:MM(15:23) YY-MM-DD
相对时间 表达方式为now+minute(分钟) hour(小时) day(天) week(星期)
模糊时间 midnight午夜 noon中午 等
示例:
选项:
-m 当计划任务执行结束后发邮件给用户
-l 查看用户计划
-d 删除用户计划
-c 查看at 计划的具体内容
-f 从指定的文件中读取要执行的作业
示例:
-f
我们在第一张图中提示我们没有启动Atd服务,所以我们在使用一次性计划任务的时候需要确保atd服务器是开启的,不然计划任务将不会执行,我们使用 service atd start 来启动,如下图:
上面我们说了一次性计划任务,但是我们有的时候一个任务需要它反复的去运行,那么我们就用到周期性任务计划了,我们称之为”Cron“
crontab周期性计划任务
备注:
cron 和at一样的都需要启动服务,而cron的服务则是crond,所以我们要向使用周期性计划任务时请确保crond是否开启,如不开启计划任务将不会被执行,我们使用 service crond start来开启, 然后使用chkconfig crond on来添加开机启动
示例:
周期性任务有两类:
1、系统cron任务;没有默认的运行用户身份,所以需要额外指定运行者
其运行任务在/etc/crontab 一般使用vim来编辑,一般不建议来进行操作
2、用户cron任务;由某个用户所提交;默认是以提交者的身份运行,所以无需额外指定运行者
其运行任务在/var/spool/cron/USERNAME下
crontab命令的作用和用法
作用:为用户维护周期性的计划任务
用法:crontab [选项]
-u 指定计划任务的用户,默认为当前用户,备注:只有root才能去指定其他用户。
-l 查看计划任务
-r 删除计划任务
-e 编辑计划任务
-i 使用-r删除任务时,要求用户确认删除
crontab计划任务格式含义如下图: 使用24小时制,分钟范围0~59,小时范围00~23,日期范围1~31,月范围为1~12 ,周范围为0~7(在这里0和7都可以表示为周日);
时间段的划分:
- 表示一段连续的时间 例:3-7 如果在分钟上就表示3-7分钟这个时间段上执行
, 表示若个不连续的时间 例:3,6,9 表示在每小时的第3分钟 第6分钟 第9分钟
/# 表示在有效范围的每多少时间,表示频率的 例:1-30/4 表示每小时的1-30分钟每4分钟执行一次 */4 则表示每4分钟执行一次
* 表示所有时间
/ 表示间隔时间
示例: 5 */3 * * * /bin/echo "hello" 就表示每3小时第5分执行一次后面的命令
* */3 * * * /bin/echo "hello" 这就表示每3小时的每分钟都执行一次后面的命令了
所以我们想表示一个时间的每的话,就必须在比它小的单位上指定个时间。
示例:5 7 * * 1-5 /bin/echo "hello" 表示周一到周五每天的7点5分运行一次
其定义模式如下图,我们以系统定义为例:
本文出自 “IT-style” 博客,请务必保留此出处http://huichengu.blog.51cto.com/2495968/1695491
标签:linux-计划任务
原文地址:http://huichengu.blog.51cto.com/2495968/1695491