分享
 
 
 

SCO UNIX作业调度

王朝system·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

作业调度是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。

若系统的若干用户要使用cron进程,那么这个用户必须授予cron子系统的权限,给特定用户授予cron子系统的权限的操作为 scoadmin->system->cron manager->shecdule->default->user->allow 或

scoadmin account manager ->选中用户->users->user authorizations->authorized add cron(取消use system default ...)->ok

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

/usr/lib/cron/cron.allow谁能安排cron作业的确切列表

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

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

一、at,batch使用方法

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

at的命令行结构:

at [ -m ] [ -f file ] [ -q letter ] time [ date ] [ increment ]

at [ -m ] [ -f file ] [ -q letter ] -t [[CC]YY]MMDDhhmm.[SS]

at -r job-id ... job-id指at命令作业的id号,-r指删除该id号的作业

at -l [job -d ...] 显示当前的at作业

at -l -q letter

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

相关文件与目录

/usr/lib/cron main cron directory

/usr/lib/cron/at.allowlist of allowed users

/usr/lib/cron/at.deny list of denied users

/usr/lib/cron/queuedefs scheduling information

/usr/spool/cron/atjobsspool area

/usr/lib/cron/.protoat and batch environment information

/usr/lib/cron/.proto.aat shell environment

/usr/lib/cron/.proto.bbatch shell environment

/usr/lib/cron/.protoat and batch environment information

/usr/lib/cron/.proto.aat shell environment

/usr/lib/cron/.proto.bbatch shell environment

部分参数说明分别如下

1)time

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

2)date 表示日期

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

4)-t [[cc]YY]MMDDhhmm.[SS]

CC世纪

YY年

MM月

DD日

hh时

mm分

SS秒

5)-q letter

把指定作业置于指定字母所指示的队列内,可以是从a到z的任何小写字母以下队列有特殊意义

aat 队列

bbatch 队列

ccron 队列

6)-m

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

7)-f file

指定包含有at 作业的源文件名,以代替从标准输入。

8)-l [job-id]

列出指定作业的相关信息

9)-r job-id

删除指定作业

at 和 batch 作业提交后,均被指定一个相应的作业标识符,at作业带有 后缀.a, batch作业带有后缀 .b 。所有作业以其作业标识符为文件名,保存在/usr/spool/cron/atjobs目录中。

二、crontab的使用方法

crontab命令的功能是在一定的时间间隔调度一些命令的执行。通常这些要运行的命令放在crontab文件中,该文件为/usr/spool/cron/crontabs下面与用户名相同的文件,或在每次执行时不使用该文件名直接使用crontab -e 指令。(在at命令中,命令文件的存放是任意的)。命令执行默认的结果,无论是标准输出还是错误输出,都将以邮件形式发给用户。

crontab命令有三种形式的命令行结构:

crontab [cronfile]

crontab [-e|-l|-r]

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

相关文件目录

/usr/lib/cron main cron directory

/usr/spool/cron/crontabscrontab directory

/usr/lib/cron/cron.allowlist of allowed users

/usr/lib/cron/cron.deny list of denied users

/usr/lib/cron/queuedefs cron data file

1) crontab [cronfile]

cronfile是命令文件的名字。如果在命令行中指定了这个文件,那么执行crontab命令,则将这个文件拷贝到crontabs目录下;如果在命令行中没有制定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将他们也存放在crontab目录下。 (不建议使用该方式,如果用crontab cronfile ,将会把原来的已经提交的cron作业删除)

cronfile 是具有一定格式的普通文件,在文件中可以包含多余一个的作业信息,每个作业作为一个登记项,独占一行,用空格分开的6个字段,前五个字段可以取整数值,指定何时开始工作,第六个域是字符串,称为命令字段,其中包括了crontab调度执行的命令。具体格式如下

minutes hours day_of_month month day_of_week command

minutes 分钟 0-60

hours 小时 0-23

day_of_month日 1-31

month 月 1-12

day_of_week 星期的日 0-6(0表示星期日)

command 命令 任何非交互的命令

2) -l

显示已经提交的cron 作业

3)-e

对已经提交的cron 作业编辑,或添加,删除作业建议使用该方式添加cron作业,相比手工修改/usr/spool/cron/crontabs/username文件,使用crontab -e 可以对提交的作业进行语法检查,如果没有按照规定6个字段提交作业,会提示相应错误信息。 如果手工对/usr/spool/cron/crontabs/username 编辑,为确保作业提交可按照以下步骤执行用crontab -e 编辑该文件 :x存盘退出或用ps 命令查找cron进程,用kill 杀下/etc/cron进程, rm /usr/lib/cron/FIFO;/etc/cron

注释: /usr/lib/cron/FIFO,当新的作业提交由crontab完成时,一个发送消息到cron守护进程的命令管道。

4) -r 删除当前已经提交的cron 作业

5) -u user 对指定用户的cron 作业进行维护。

三、环境文件

/usr/lib/cron/.proto定义的shell环境适用于 at和batch 。

/usr/lib/cron/.proto.a 适用于at

/usr/lib/cron/.proto.b 适用于batch

.proto.a ,.proto.b 与 .proto相比有更高的优先权。

默认情况下,只存在 .proto.b 和 .proto ,且内容相同。

以上相关维护可以使用 cron manager 实现

cron作业提交后,未能定时完成相应任务,可按照下面的方法查找原因

1。查看 /usr/lib/cron/log 中的提示

2。将提交的作业输出重新定向,查看相应的log文件

作业提交后未能完成相应任务,通常是因为环境变量设置的问题

例如:因PATH等变量的设置未找到相关的程序等

crontab命令简介

简介

crontab-操作每个用户的守护程序和该执行的时间表。

部分参数说明

crontab file [-u user]-用指定的文件替代目前的crontab。

crontab-[-u user]-用标准输入替代目前的crontab.

crontab-1[user]-列出用户目前的crontab.

crontab-e[user]-编辑用户目前的crontab.

crontab-d[user]-删除用户目前的crontab.

crontab-c dir- 指定crontab的目录。

crontab文件的格式:M H D m d cmd.

M: 分钟(0-59)。

H:小时(0-23)。

D:天(1-31)。

m: 月(1-12)。

d: 一星期内的天(0~6,0为星期天)。

cmd要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环

境变量。

下面是一个例子文件:

#MIN HOUR DAY MONTH DAYOFWEEK COMMAND

#每天早上6点

0 6 * * * date

#每两个小时

0 */2 * * * date

#晚上11点到早上8点之间每两个小时,早上8点

0 23-7/2,8 * * * date

#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点

0 11 4 * mon-wed date

#1月份1日早上4点

0 4 1 jan* date

范例

lark:~>crontab-1 列出用户目前的crontab.

#MIN HOUR DAY MONTH DAYOFWEEK COMMAND

10 6* * * date

0*/2* * * date

0 23-7/2,8 * * * date

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有