SCO UNIX作业调度( 二 )


5)-q letter
把指定作业置于指定字母所指示的队列内,可以是从a到z的任何小写字母以下队列有特殊意义
a at 队列
b batch 队列
c cron 队列
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/crontabs crontab directory
/usr/lib/cron/cron.allow list of allowed users
/usr/lib/cron/cron.denylist of denied users
/usr/lib/cron/queuedefscron 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作业提交后,未能定时完成相应任务,可按照下面的方法查找原因

推荐阅读