版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用用UNIX Shell写写批量调度管理2010-04-19东南融通 软件开发五部 余模清 2提纲提纲n调度程序目标调度程序目标n实现的功能实现的功能n应用环境应用环境n调度程序层次结构调度程序层次结构n关键代码导读关键代码导读n使用到的使用到的shell编程技巧编程技巧n常用的常用的shell编程元素编程元素3调度程序目标调度程序目标n调度维护无需编程,全配置调度维护无需编程,全配置n可以设置不同的并发量可以设置不同的并发量n批量出错不必全部重新执行所有脚本批量出错不必全部重新执行所有脚本n可以灵活配置脚本的调度频率可以灵活配置脚本的调度频率n有统一的日志跟踪调度执行过程有统一的日志跟踪调度
2、执行过程n支持多种调度频率,最小调度频率:日支持多种调度频率,最小调度频率:日4实现的功能实现的功能n实现以日为最小调度单位的批量调度实现以日为最小调度单位的批量调度n支持定期执行的日批量、周批量和月批量,指定执行日期支持定期执行的日批量、周批量和月批量,指定执行日期的批量的批量n支持脚本的分组调度,每个组可以单独设置各自的脚本并支持脚本的分组调度,每个组可以单独设置各自的脚本并发个数发个数n调度策略完全可配置,可配置脚本的组,执行日期约束等调度策略完全可配置,可配置脚本的组,执行日期约束等n脚本支持所有在脚本支持所有在unix下可执行的程序和下可执行的程序和shell脚本,脚本,perl脚脚
3、本和本和python脚本脚本SQL脚本,脚本,BTEQ脚本等,并可扩展脚本等,并可扩展n记录执行日志记录执行日志n脚本执行出错后支持全部重新执行和从出错点恢复执行的脚本执行出错后支持全部重新执行和从出错点恢复执行的选择选择软件应用环境软件应用环境n大量的批量执行程序和脚本需要调度的项目。大量的批量执行程序和脚本需要调度的项目。n最小批量调度单位为日最小批量调度单位为日n需要项目组自己写批量调度的项目或其他场合,软件需要项目组自己写批量调度的项目或其他场合,软件依赖一个数据库来记录批量执行状态。依赖一个数据库来记录批量执行状态。n数据库没有限制,任何在数据库没有限制,任何在unix可以使用的数据
4、库支持可以使用的数据库支持标准的标准的SQL就可以使用就可以使用5调度程序层次结构调度程序层次结构6分组调度程序调度分组调度配置文件程序调度配置文件日志用户界面EssBaseSQL参数存储过程PerlPython关键代码导读关键代码导读nprogramSchedule.sh7使用到的使用到的shell编程技巧编程技巧n函数和模块函数和模块n使用信号在主程序和子程序间通信使用信号在主程序和子程序间通信n唯一性的临时文件(用唯一性的临时文件(用C扩展)扩展)8常见常见Shell编程元素编程元素(程序)程序)n常用于编程的命令常用于编程的命令ls findgrepsedteeechoawk 9cat
5、 copymvrmmkdirdatepskill常用常用shell编程元素(逻辑控制)编程元素(逻辑控制)n条件执行条件执行if /then/else/fin分叉分叉case/esacn循环循环for/do/break/continue/donewhile/do/break/continue/donen退出退出exit 10常用常用shell编程元素(环境)编程元素(环境)nenv 获得环境变量列表获得环境变量列表n引用环境变量引用环境变量$PATHn设置环境变量设置环境变量export ETLDATE=20091112n打开的文件打开的文件0:标准输入1:标准输出2:标准错误11常用常用sh
6、ell编程元素(参数)编程元素(参数)$n shell 程序命令行中的第程序命令行中的第n 个参数,个参数,n为为0-9,当,当n 为为0时表示命令名时表示命令名$# 命令行中参数的个数命令行中参数的个数$ 本本shell 命令的进程号命令的进程号$! 最后一个后台进程的代号最后一个后台进程的代号$* 所有命令行参数(不包含所有命令行参数(不包含$0)$ 与与$*相似,但其值不同(不包含相似,但其值不同(不包含$0)shift n 将命令行参数往左移将命令行参数往左移n位位(缺省缺省1),但,但$0不变不变12常用常用shell编程元素(文件操作)编程元素(文件操作)n每个程序执行都会从父进程
7、继承三个文件(每个程序执行都会从父进程继承三个文件(0,1,2)n可以用重定向方法改变其标准输入可以用重定向方法改变其标准输入/标准输出和标准标准输出和标准错误错误n管道对接(将一个程序的输出直接导向到另一个程序管道对接(将一个程序的输出直接导向到另一个程序的输入)的输入)n将程序的输入重定向到将程序的输入重定向到shell脚本的后续行中脚本的后续行中13Shell编程模块化编程模块化n. Module.shnsh和和 . 的区别的区别sh和.都执行脚本中的代码但.保留脚本中的变量设置和函数定义给调用者,在脚本中设置的环境变量也会保留给调用者14变量问题变量问题15#!/usr/bin/shs
8、ub() i=expr $1 + 3 echo $ii=0while $i -lt 10 do f=sub $i echo f=$f,i=$i i=expr $i + 1donei=0while $i -lt 10 do sub $i echo i(caller)=$idone运行结果运行结果16f=3,i=0f=4,i=1f=5,i=2f=6,i=3f=7,i=4f=8,i=5f=9,i=6f=10,i=7f=11,i=8f=12,i=93i(caller)=36i(caller)=69i(caller)=912i(caller)=121717保密须知:本文件及其书面或其他任何形式的附件乃以保密形式提供,其著作权归属于本公司,仅供阁下内部使用。未经过本公
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 服装工厂员工合同模板
- 2024年适用小型商贸产品采购协议典范版
- 2024年小学48个音标完整课件
- 融资租赁商业合同模板
- 销售联营合同模板
- 理赔咨询服务合同模板
- 建筑木工发包合同模板
- 美发合伙经营合同模板
- 医生应聘合同模板
- 轻钢别墅投标合同模板
- 盖洛普优势识别器测试完整版
- 配网工程管理流程及注意事项
- 电动车证明模板
- 美标钢材理论重量整理(槽钢、角钢、H型钢-W型钢、T型钢)
- 管桩打桩规范及要求
- 光纤传感器的八大优点和分布式光纤传感器的六大特点
- 机关工作人员考勤表Excel模板
- 日照市重点支柱产业情况
- 学生课堂表现评价量表(共8页)
- 未就业证明模板村委会
- 《2021国标暖通图集资料》14K117-3 锥形风帽
评论
0/150
提交评论