Linux:用at和crontab调度作业
一、有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
#从现在开始30分钟后杀死ID为9009的进程
 
#查看at调度列表
 
 
 
#上面的信息说明。第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)
 
3、 例子
 
 
 
 
 
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号