您的位置:首页 > 其它

RH033 Unit 11 Investigating and Managing Processes Part II: Job Control

2009-12-03 15:51 260 查看
定时任务 设定一次性的定时任务使用“at”,建立周期性任务则使用“crontab”
新建任务at timecrontab -e
任务列表at –lcrontab -l
详细信息at –c jobnumn/a
删除任务at –d jobnumcrontab -r
编辑任务n/acrontab -e
两种命令执行结果的输出均以邮件方式通知用户,并不返回至屏幕或其他位置 at支持多种复杂的时间定义方式,可以接受HH:MM这样的具体时间定义,也可以用midnight、noon或者teatime(4pm)以及时间后缀AM/PM这样的描述方式定义一天内的任务;对于时间定义范围超过24小时的,也可以用日期来形容,比如month-name day,或者用固定的MMDDYY、MM/DD/YY等格式,但是需要注意的是,如果指定了日期,还必须指定这一天里具体执行任务的时间点;另外,也可以使用相对时间指定方式,比如now + count time-units,这个time-unit可以是minutes、hours、days或weeks等(以上摘自“man at”) 下面演示几个例子 1、在22:57分执行ps

输入at 22:35后回车,进入任务编辑状态,然后每行一条命令,结束时输入ctrl+d

在预定时间到了后,任务会自动运行,并将运行结果发送邮件至创建该任务的用户,邮件发送的时间是22:57:02,也就是任务刚结束 2、不指定绝对时间点,从现在开始2分钟后执行ps



第9号任务已经执行完毕,并将结果用邮件发送给了root 周期任务 实际使用中,周期任务是最常用的一种计划任务方式,写法上相比at要略复杂一些,但是执行效率肯定高出at,可以达到一劳永逸的效果,不用每次都手工做定时任务 crontab -e用来新建或编辑现有的周期任务,时间指定方式和at有区别,会分有5个字段,每个字段表示不同的时间单位,字段间用空格分开,时间后面跟着要执行的命令,最好是写命令或程序的绝对路径,每行一条任务 编辑的时候实际上是调用了vi编辑器,所以编辑操作是很方便的,编辑完成后wq保存退出就可以了
minutehourday of monthmonthday of week
*****
0-590-231-311-120-7
含义及取值范围 minute:分钟,0-59 hour:小时,0-23 day of month;日期,1-31 month:月份,1-12 day of week:星期,0-7,0和7分别都可表示星期天 举几个例子,还是以执行ps命令为例,输入crontab -e 1、每分钟如何定义

2、每年11月17日23点35分

3、每天12点整

4、每周一至五的9点至17点

5、每隔2小时10分钟

查看任务列表

删除所有任务

组合命令 在Linux中,还有一种命令执行方式,组合命令,简单的说就是一次输入多条不同的命令并执行,这里分两种方式,举例说明 date;who | wc -l (date;who) | wc –l

第一条含义是先执行date,然后再执行who,把who的输出传给wc统计行数 第二条含义是先执行date,然后再执行who,但是把date和who的输出一起传给wc统计行数 这里的圆括号相当于执行命令时在当前shell里又开启了一个子shell,子shell中的变量对于子shell之外的代码块来说, 是不可见的,也就是说,系统会将圆括号内的所有命令输出当做是一个整体,而不管是否有分号分隔开,然后将这个整体的输出统一传送给wc 补充说一个退出状态 进程运行的成功或失败,通常会表示为退出状态exit status,以0代表成功,1~255之间的任意数字代表失败 $?存放着最近执行命令的退出状态 比如ping命令,ping一台主机,然后看一下这条命令执行后的退出状态

由于不存在station999这台主机,ping命令肯定不会成功执行,那么就会返回错误值,所以查看退出状态不为0 讲上面这个东西,其实主要是接下面要讲的内容,逻辑判断操作符 &&:意为然后,表示当前面的操作正确,然后继续做后面的操作 ||:意为否则,表示当前面的操作不正确时,做该符号后面的操作 这样说起来有点抽象,还是举个ping命令的例子来解释一下 我们用ping命令来测试一下是否可以连通网关192.168.0.254

执行结果显示“gateway can be connected”,因为&&前面的操作结果返回值为正确,然后执行了&&后面的操作 如果换一个ip呢?

gateway is down,^_^,因为192.168.0.253这个ip的主机不存在 test命令 用于在条件执行命令中判断执行状态布尔值,返回值为0代表正确,1代表错误 常用的操作符 -eq:表示判断数字上是否相同 =:表示字符上是否相同 -ge/-gt:表示 大于等于/大于 -le/-lt:表示 小于等于/小于 -f:判断文件是否存在并且为一个普通文件 -d:判断文件是否存在并且为一个目录(注意:目录也是一种特殊的文件,everything is file) -x:判断文件是否存在并且可被执行 -z:判断字符串是否为空 判断语句的写法有两种,长格式和短格式

这种写法是长格式,也就是判断语句略长,test 66 –eq 67,另有一种短格式写法,同样是表达比较两个整数大小

用中括号将比较条件括起来就可以了,不过要注意的是,中括号和表达式之间一定要用空格隔开本文出自 “Dy!ng_Sou|@51cto” 博客,请务必保留此出处http://wangwenbo.blog.51cto.com/185762/238287
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: