




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
OS高级课程,部门:NMBU综合支撑部 讲师:王万峰,1,课程介绍,课程目标 双机集群简介;正则表达式与shell实例教程; 课程周期:8学时 学习基础:已经完成linux基础课程的学习,课程目录,培训场景介绍 双机集群简介 正则表达式简介 正则表达式实例讲解 正则表达式练习 Shell编程简介 Shell编程实例讲解 Shell练习,培训场景介绍,学员环境:windows xp或2003系统,以及一个redhat linux环境(可以使用linux虚拟机) 工具: 1、windows环境正则表达式测试工具RegexBuddy.exe 下载地址:73/09通用软件汇总/其它/ RegexBuddy.exe 注:ftp用户名、密码均为nmbu 2、egrep egrep工具存在于linux操作系统中; 双机HA使用公司的IBM hacmp演示测试环境;,4,双机集群简介,集群主要分成三大类 高可用集群( High Availability Cluster) 负载均衡集群(Load Balance Cluster) 科学计算集群(High Performance Computing Cluster) 本文基于项目工作的要求只介绍高可用集群。,双机集群简介,高可用集群(High Availability Cluster) 常见的就是2个节点做成的HA集群,有很多通俗的不科学的名称,比如“双机热备”, “双机互备”, “双机”. 高可用集群解决的是保障用户的应用程序持续对外提供服务的能力。(请注意高可用集群不是用来保护业务数据的,保护的是用户业务程序对外不间断提供服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度)。 常见的双机软件如:RedHat公司的开放源代码RedHat Cluster Suite, 简称RHCS ;Novell 公司 的 开放源代码高可用集群HA套件; Steeleye Lifekeeper for linux ;HP MC/Service Guard ;Sun的Veritas Volume Manager 以及IBM的HACMP 本文介绍IBM的HACMP双机互备情况下的切换,双机集群简介,IBM High Availability高可用性介绍 所谓HACMP是指架构在IBM的AIX系统上的一种高可用多处理群集技术。其特点体现在: High Availability 系统可用性或运行时间最大化 系统宕机时间最小 Multi Processing 一个cluster的各个节点上可运行多个应用 共享数据或并发访问数据 构建HACMP的目的是在于保护IP地址,文件系统,卷组和应用等资源,消除单点故障,实现高可用,双机集群简介,IBM High Availability高可用性介绍 hacmp切换测试 1、切换资源组模拟服务器宕机 2、拔网线模拟服务器网卡异常 验证切换是否成功 1、ifconfig命令查看服务器浮动IP地址是否存在 2、lsvg o命令查看服务器共享vg是否存在 3、通过df 查看主机的共享文件系统挂载情况 4、查看业务进程状态,正则表达式简介,正则表达式(regular expression)就是用一个”字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。比如 表达式“ab+” 描述的特征是“一个 a 和 任意个 b ”,那么 ab, abb, abbbbbbbbbb 都符合这个特征。 正则表达式常用于: Nms产品故障管理模块中的syslog事件标准化 shell脚本编写 Patrol PSL 开发 cruiser脚本开发 Java开发,9,正则表达式实例讲解,Lab1: egrep下的正则表达式 条件:创建file1并写入如下内容: From:You to:me from: me To:you DdFrom: 命令: #egrep (From|to): file1 上述命令提取出file1文件中以From:或者to:开头的所有行,正则表达式实例讲解,Lab1: egrep下的正则表达式 命令: egrep (From|to): file1 命令说明: # 表示shell提示符 shell中的引号 脱字符,匹配行首,对应的是$ 美元字符,匹配行尾 $ 两个字符连接起来则匹配空行,正则表达式实例讲解,Lab2: 与(.) 条件:创建file2,并写入如下文本: gray is not grey 命令: # egrep greay file2 # egrep gr(e|a)y file2 以上命令匹配file2中包含grey或者gray的所有行 命令说明: 使用方括号 包含一系列字符,能够匹配其中任意一个字符,简 称字符数组(character classes),如a-zA-Z0-9表示a-z的26个小写字母 或者A-Z的26个大写字母以及数字0-9范围内的10个数字。使用括 号()为多选结构,用括号来划定多选结构的范围,同时括号也可 以用户反向引用(后续介绍) | 称为 或,常用于括号()中多选结构,正则表达式实例讲解,Lab3: 与 条件:创建file3,并写入如下文本: 12345 23456 Abcde 5bcde 命令: # egrep i 1aefh file3 # egrep 12345 file3 第一条命令匹配file3除1aefh以外的所有字符的行23456 第二条命令匹配file3以12345中的任意字符为开头的行: 12345 、23456以及5bcde,正则表达式实例讲解,Lab3: 与 # egrep 1aefh file3 # egrep 12345 file3 命令说明: 脱字符放在字符串前面表示匹配行首,但是放在了方 括号中字符的首位时则匹配方括号中的所有字符以外的 字符(简称negate),正则表达式实例讲解,Lab4: 星号(asterisk)* 问号(question mark)?与加号+ 条件:创建file4,并写入如下内容 colour is not color, even than colo 命令1:#ls file* 以上命令能匹配file1,file2等已file开头的所有字符串 元字符点号能匹配任意零个或多个字符如a* 可以匹配a ,aa,a33456 命令2:#egrep colou?r file4 以上命令匹配file4包含colour或者color的所有行 元字符?加在一个字符的后面,表示此处容许出现的字符。 只作用于之前紧邻的元素。,正则表达式实例讲解,Lab4: 星号* 问号(question mark)与加号+ 命令4:#egrep coloa-z+ file4 元字符+表示紧邻前元素出现的次数,至少允许出现1次 或更多次,以上命令只匹配第一行 Lab4-1 匹配次数m,n 命令4-1:#egrep coloa-z1,3 file4 1,3表示匹配a-z中的字符最少一个,最多3个。,正则表达式实例讲解,Lab5: 圆括号的反向引用backreference ,查找文件中的连续重名单词 条件:创建file5,并写入如下内容 And we think that that standard has been met there The more the more he gets, the more he wants 命令1:# egrep -i (a-z+) (a-z+) +1 2 file5 以上将匹配The more the more存在重复。 命令说明: egrep i表示忽略大小写(Ignore case) 第一个中括号匹配的内容被后面的1引用,第二个中括号引用的内容被2引用 命令2:# egrep +1 file5 以上将返回包含that that的行,元字符匹配单词,正则表达式实例讲解,Lab6:转义字符escape 条件:创建file6,并写入如下内容: The price of ipad was $199.08 Oh!really? 命令: egrep $1-91,5.0-91,2 file6 以上命令将返回包含$199.08的那一行。 命令说明: 转义了元字符$和. 1,5表示匹配元素的个数,最少1次,最多5次。,正则表达式实例讲解,Lab7:匹配linux下的uptime的输出 uptime的输出如下: 09:56:06 up 16 days, 32 min, 1 user, load average: 1.71, 1.74, 1.11 使用工具RegexBuddy.exe 正则表达式: d+:d+:d+sa-z+s+0-9+sa-z+,sd+sw+,s+dsw+,s+w+sw+:s0-91,3.0-91,2,s0-91,3.0-91,2,s0-91,3.0-91,2 说明: d表示任意一个0-9的数字,相当于0-9 s 表示匹配空格、制表符、换页符等空白字符的其中任意一个 w表示任意一个字母或数字或下划线,也就是 A-Za-z0-9_ 中任意一个,正则表达式练习,使用RegexBuddy.exe工具或egrep获取物理网卡的MAC地址,Shell编程简介,Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计 语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括 循环和分支。它虽然不是Linux系统核心的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对于 用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Linux系统的关键。可以说,shell使用的熟练 程度反映了用户对Linux使用的熟练程度。,Shell编程简介,什么是shell 当一个用户登录Linux系统之后,系统初始化程序init就为每一个用户运行一个称为shell(外壳)的程序。那么,shell是什么呢?确切一点说,shell就是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程 序,用户可以用shell来启动、挂起、停止甚至是编写一些程序。 当用户使用Linux时是通过命令来完成所需工作的。一个命令就是用户和shell之间对话的一个基本单位,它是由多个字符组成并以换行结束的字符串。shell解释用户输入的命令,就象DOS里的所做的一样,所不同的是,在DOS 中,只有一个,而在Linux下比较流行的shell有好几个,每个shell都各有千秋。一般的Linux系统都将bash作为默认的shell。,Shell编程简介,几种流行的shell 目前流行的shell有ash、bash、ksh、csh、zsh等,你可以用下面的命令来查看你自己的shell类型: #echo $SHELL $SHELL是一个环境变量,它记录用户所使用的shell类型。你可以用命令: #shell-name 来转换到别的shell,这里shell-name是你想要尝试使用 shell的名称,如ash等。这个命令为用户又启动了一个 shell,这个shell在最初登录的那个shell之后,称为下级的 shell或子shell。使用命令: $exit 可以退出这个子shell。,Shell编程实例讲解,Nms服务启动、停止脚本剖析 注:可用编辑器或者vi打开。 上传到linux机器后,确认有执行权限。 执行方法./Nms.sh start 或stop、restart、status,Shell编程实例讲解,脚本功能 初始化环境变量 检查进程存在状态函数 启动NMS进程函数 停止NMS进程函数 读取命令行输入并控制启动、停止或检测NMS,Shell编程实例讲解,初始化环境变量 环境变量的初始化,可以用export VAR=VALUE的方式,也 可以用VAR=VALUE;export VAR 用于定义脚本的运行环境,常见的如LANG、PATH等系统 环境变量,也有自定义的环境变量,如DIR定义应用程序 的目录,Shell编程实例讲解,检查进程存在状态函数 pid_status(),定义函数的格式: 函数名() 命令1 Spid=$(pidof NmsServer) 返回NmsServer进程的pid,$()同表示命令 替换。PIDLIST=($Spid $Mpid $ProPid) 表示将进程的PID值 作为三个元素赋值给PIDLIST数组; $#PIDLIST* -gt 0 使用$#PIDLIST* 获取PIDLIST属组中的 元素个数,如果大于0则函数返回值为2,小于0则函数返回 值为0,Shell编程实例讲解,检查进程存在状态函数 if $#PIDLIST* -gt 0 ; then return 2 else return 0 fi if为条件测试语句,如果if 中的为真,则执行then后面的语 句,为假则执行else后的语句,fi表示if判断结束。return语句 返回该pid_status()函数的返回值。,Shell编程实例讲解,启动NMS进程函数 函数nms_start() 命令 先调用pid_status函数,并根据该函数的返回值(0还是2)判断是 否执行nms_start()行数中的命令。 echo 打印输出;cd 到程序目录;nohup (no hang up,不随 用户会话注销而停止程序)执行启动脚本并将脚本的标准错 误(STDERR)和标准输出(STDOUT)重定向到/dev/null文件中 (注:nohup 默认的输出文件是nohup.out) $? 表示上一个命令执行的状态返回值,0表示正常,非0表示执行 异常,通过比较此值来判断应用是否启动成功。,Shell编程实例讲解,停止NMS进程函数 函数nms_stop() 命令 首先调用pid_status()判断NMS进程是否活动,如果活动($?的 值等于2)则执行三次while循环,依次停止NmsServer, NmsMsgServer,NmsProbe三个进程,执行完毕后,再次用 pid_status()判断其返回值是否为0,为0则表示停止完毕,为2 在表示停止失败,失败则退出程序,Shell编程实例讲解,读
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肿瘤护理中的有效沟通
- 直肠恶性肿瘤内科诊疗体系
- 全国中医护理骨干人才汇报
- 行政制度新人培训
- 开户云五期培训
- 护理标识管理规章制度
- 幼儿教师音乐乐理培训
- 木材采购保密及森林资源保护协议
- 车辆收费员招聘与管理服务协议
- 高端草莓采摘园与旅行社定制旅游合同范本
- 富士康职工档案管理制度
- 中国共产主义青年团纪律处分条例试行解读学习
- 国家能源集团陆上风电项目通 用造价指标(2024年)
- 2024北京海淀区三年级(下)期末语文试题及答案
- MOOC 国际商务-暨南大学 中国大学慕课答案
- 密封条范文模板(A4打印版)
- 人教版七年级下册数学《期末检测试卷》
- 防腐除锈检验记录
- 公司金融课件(完整版)
- 三维激光扫描技术与应用实例-PPT课件
- 铁路货物装载常用计算公式
评论
0/150
提交评论