一、有2种作业调度方式

1、突发性的,就是只运行作业一次而不是定期运行,使用at命令。

例如在进程A运行一段时间后关闭该进程。

2、定期运行,就是每隔一定的周期运行一次,使用crontab命令。

如每周一次的工作报告

二、          单一作业调度at

执行at命令,必须要有atd这个服务,有些linux默认没有启动,

1、  启动atd

#/etc/init.d/atd restart

#设置开机启动atd服务

#chkconfig atd on

2、  at命令

#at [-mldv]TIME

参数:

-l :at –l ,列出目前系统上面的所有该用户的at调度

-d:at –d 相当于atrm,可以取消一个在at调度中的作业

TIME:时间格式

常用at now  + 70 minutes  

(定义现在过多少时间再进行工作)

3、  例子

场景:从现在开始30分钟后杀死进程mail

具体操作:

#查看进程ID

 

Linux:用at和crontab调度作业_作业调度

 

#从现在开始30分钟后杀死ID为9009的进程

Linux:用at和crontab调度作业_开机启动_02

 

 

#查看at调度列表

Linux:用at和crontab调度作业_工作报告_03

 

 

#上面的信息说明。第8个at作业将在2012-11-3000:25 进行 

三、  循环执行的作业调度crontab

循环执行的作业调度是由crond这个系统服务来控制的。     

1、  crontab命令

# crontab [-l|-e|-r]

具体的部分参数说明如下:

- l 列出用户目前的crontab

-e 编辑用户目前的crontab

-r 删除用户目前的crontab

 

2、  crontab –e命令

运行该命令会进入vi的编辑界面,然后以一个作业一行来编辑,编辑完之后输入“:wq”保存后离开vi就可以了。而每项作业(每行)的格式都是具有六个字段,这六个字段的意义如下图

代表意义

分钟

小时

日期

月份

命令

数字范围

0-59

0-23

1-31

1-12

0-7

要执行的命令

特殊辅助字符(见鸟哥私房菜P499)

 

 Linux:用at和crontab调度作业_参数说明_04

3、  例子

Linux:用at和crontab调度作业_字段_05

Linux:用at和crontab调度作业_工作报告_06

Linux:用at和crontab调度作业_工作报告_07