AIX 作业假脱机程序(spooler)
2009-07-11 08:32:21 来源:WEB开发网当作业完成时,将创建 /tmp/tmp1.ksh.out 文件,其内容像下面这样:
# cat /tmp/tmp1.ksh.out
50 /tmp/tmp1.ksh
Sat Mar 21 20:03:43 CDT 2009
Sat Mar 21 20:04:33 CDT 2009
输出的第一行包含随机选择的睡眠秒数,然后是脚本的名称。下面两行包含执行睡眠命令之前和之后的日期/时间戳。时间戳的差应该是从第一行开始的秒数。
通过使用上面的作业假脱机概念,系统管理员就不再需要判断每个夜间批作业对系统施加的负载。一般情况下,系统管理员通过 cron 调度作业处理,尝试让工作负载比较均衡地分布。管理员要根据每个作业预期的执行时间,确定调度作业处理的时间间隔。通常还会把下一个作业的调度时间延后一段时间,以防前一个作业的执行时间超出预期。
通过使用 AIX 作业假脱机程序,可以同时提交所有不连续的夜间批作业,因为假脱机程序会按照提交次序每次运行一个作业。所以,即使把 50 个作业都安排在 23:00 运行,由于采用了假脱机机制,它们会连续地逐一运行。这样管理员就不需要分散调度作业以避免系统过载。他们可以把作业安排在任何时候运行,只要把作业发送给作业假脱机程序,就会逐一执行每个作业。管理员不再需要判断系统负载并根据可用的系统资源决定调度时间。
cron 调度
当然,前面使用 at 调度程序的技术也可以改为使用 cron 调度程序。只需在 crontab 记录中在要执行的命令前面加上假脱机程序命令。下面的 crontab 记录行在每天晚上 23:00 运行一个命令:
0 23 * * * /usr/bin/lp -d bsh /usr/local/scripts/schedjob.ksh
同样,在调度不连续的批作业时,可以把它们都安排在 23:00,因为它们会通过假脱机程序每次运行一个。管理员不需要评估系统负载或作业处理时间。
更多精彩
赞助商链接