详谈Unix操作系统作业调度

系统 其他OS
Unix操作系统作业调度是shell的一个特性,它允许用户使用作业调度命令,在Unix操作系统负载较轻时安排这些非交互式作业的运行。

首先让大家了解下Unix操作系统作业调度,然后全面介绍Unix操作系统,希望对大家对Unix操作系统的学习有所帮助。

作业调度是shell的一个特性,它允许用户使用作业调度命令,所谓作业调度实际上是时钟守护进程cron按照用户所提交的确定的时间在这个时间内执行某些运行作业,cron守护进程将在设定的日期规定的时间内自动地执行某样任务。可在Unix操作系统负载较轻时安排这些非交互式作业的运行,在中与cron配合提交任务的命令有三种:at,batch,crontab。

cron进程的活动可存放在日志文件中,该日志文件为/usr/lib/cron/log文件,是否对cron活动进行记录还要一个变量CRONLOG的设置,这个变量存放于/etc/default/cron文件中。

缺省情况下,这个变量设置值为NO,这说明cron进程的活动内容不保留在任何文件中,若需要可将其值改为yes或将其文件名改为其他用户需要的文件名。此外,在/etc/default/cron中MAXLOGSIZE 限制了log文件的大小,该变量以512字节为单位设定的log的最大块数,确省为2048块。 在/etc/default/cron中的MAXCRON变量,控制在同一时刻允许运行的最大进程数量,确省为100。

若Unix操作系统的若干用户要使用cron进程,那么这个用户必须授予cron子系统的权限,给特定用户授予cron子系统的权限的操作为 scoadmin- system- cron manager- shecdule- default- user- allow 或scoadmin account manager - 选中用户- users- user authorizations- authorized add cron取消use system default ...- ok

对应有两个文件可看到那些用户具备此权限,分别为:
 

  1. /usr/lib/cron/cron.allow谁能安排cron作业的确切列表  
  2. /usr/lib/corn/cron.deny表示谁不能安排cron作业的确切列表,只有cron.allow不存在时才有作用  

 

如果这两个文件都不存在,表示只有root用户才有安排cron作业的权限。若两个文件都在,则cron.allow具有更高的优先权。

一、at,batch使用方法

at,batch的功能是在以后某个时间内执行某些命令。at命令允许指定作业执行时间,batch命令只有在Unix操作系统负载允许的情况下执行该作业。每个作业的id号和执行时间都可输出到错误输出上。

at的命令行结构:
 

  1. at [ -m ] [ -f file ] [ -q letter ] -t [[CC]YY]MMDDhhmm.[SS]  
  2.  
  3. at -r job-id ... job-id指at命令作业的id号,-r指删除该id号的作业  
  4.  
  5. at -l [job -d ...] 显示当前的at作业  


batch不带参数,其提交的作业比at提交的作业比具有较低的优先级,其何时执行要看Unix操作系统中已提交的作业数量。Unix操作系统空闲时,提交的作业即可运行。 at,batch,crontab三个命令的使用范围是有一定限制的,一般情况下,at,batch提交一次性的作业,作业运行完后不再运行。而crontab所提交的作业一般以固定的周期运行,在Unix操作系统允许的情况在指定的周期内Unix操作系统反复执行该作业。

相关文件与目录
 

  1. /usr/lib/cron/at.allow  list of allowed users  
  2. /usr/spool/cron/atjobs  spool area  
  3. /usr/lib/cron/.protoat and batch environment information  
  4.  
  5. /usr/lib/cron/.protoat and batch environment information  

 

部分Unix操作系统参数说明分别如下

1)表示时间,可指定为1,2,或4个数字,1或2个数字被认为是小时,4个数字被认为是小时和分钟,格式为 hh:mmm

2)date 表示日期

3)increment 表示要在前面所指定的时间time[date]再推后一段时间

4)-t [[cc]YY]MMDDhhmm.[SS]
CC  世纪
YY  年
MM  月
DD  日
SS  秒
把指定作业置于指定字母所指示的队列内,可以是从a到z的任何小写字母以下队列有特殊意义

a  at 队列
b  batch 队列
c  cron 队列

Unix操作系统不使用-m 选项时,作业的标准输出将直接mail给相应用户除非作业被明确重新定向)。使用-m 选项时,即使作业没有输出,也将以形式通知用户。

指定包含有at 作业的源文件名,以代替从标准输入。列出指定作业的相关信息删除指定作业,at 和 batch 作业提交后,均被指定一个相应的作业标识符,at作业带有 后缀.a, batch作业带有后缀 .b 。所有作业以其作业标识符为文件名,保存在/usr/spool/cron/atjobs目录中。

以上就是我们这次要讲的关于Unix操作系统中at,batch使用方法的问题,希望对大家对Unix操作系统的学习有所帮助。

【编辑推荐】

  1. 全面解决Unix操作系统安全问题
  2. Unix操作系统防范很重要
  3. 解析几种Unix网络系统攻击
  4. 安全Unix操作系统升级
  5. Unix操作系统基础介绍讲解
责任编辑:小霞
相关推荐

2010-04-15 11:21:56

2010-04-07 14:54:20

Unix操作系统

2010-04-15 18:39:56

Unix操作系统

2010-04-13 12:27:44

Unix操作系统

2010-04-15 14:40:26

Unix操作系统

2010-04-16 10:34:45

Unix操作系统

2010-04-16 18:19:32

Unix操作系统

2010-04-29 13:30:20

Unix操作系统

2010-04-19 18:35:35

Unix操作系统

2010-04-19 17:06:18

2010-04-20 17:11:33

Unix操作系统

2010-04-08 15:33:57

Unix操作系统

2010-04-20 11:52:33

Unix操作系统

2010-04-08 13:06:02

Unix操作系统

2010-04-07 15:37:16

Unix操作系统

2010-05-05 11:21:37

Unix操作系统

2010-04-08 18:25:03

Unix操作系统

2010-04-14 09:02:57

Unix操作系统

2010-04-19 13:08:35

Unix操作系统

2010-04-20 17:07:57

点赞
收藏

51CTO技术栈公众号