WEB开发网
开发学院服务器服务器方案 通过 Shell 和 Expect 脚本实现对 IBM 刀片服务器... 阅读

通过 Shell 和 Expect 脚本实现对 IBM 刀片服务器高级管理模块固件的大量升级

 2009-12-09 00:00:00 来源:WEB开发网   
核心提示: 因此,可以使用 Expect 脚本来完成对 AMM 的 telnet 中的一些交互性操作,通过 Shell 和 Expect 脚本实现对 IBM 刀片服务器高级管理模块固件的大量升级(4),准备工作首选确认是否安装了如下 rpm 包,如果没有安装,并格式化记录到IP.out文件中./remote

因此,可以使用 Expect 脚本来完成对 AMM 的 telnet 中的一些交互性操作。

准备工作

首选确认是否安装了如下 rpm 包,如果没有安装,请安装

 rpm -q expect 
 expect-5.42.1-1 

根据上一章节的执行流程,需编写三个脚本,分别为:

run.sh 执行整个程序流程

remotechassis.tcl 发现网络里所有的 AMM 的 IP 地址

update.tcl AMM 固件的升级

编写 run.sh 的脚本

run.sh 用来执行整个程序过程,其中涉及到要使用 telnet 连接到 AMM 中执行相应的控制命令,因此我们使用两个 Expect 脚本来分别完成发现网络里所有的 AMM 的 IP 地址和让 AMM 执行固件升级的功能。

由于需要升级固件的 AMM 有多个,可以在 run.sh 中加入循环来自动完成多个 AMM 固件的升级,并将升级进程放入后台运行,这样可以同时执行多个升级进程。

为了保证所有 AMM 固件升级完成,设定延迟 1200 秒后,将所有升级进程 kill 掉。

下面是 run.sh 脚本的具体内容


清单 1. run.sh 代码
 #!/bin/sh 
 # 指 定 登 录 到 其 中 一 个 AMM 中 ,执 行 发 现 remotechassis.tcl 脚 本 , 发 
 # 现 网 络 中 所 有 的 AMM IP 地 址 ,并 格 式 化 记 录 到 IP.out 文 件 中 
 ./remotechassis.tcl 192.168.1.125 USERID PASSW0RD |grep IP: |cut -c17- >ip.out 
 # 读 取 ip.out 文 件 中 的 每 一 行 AMM 的 IP 地 址, 然后执行 update.tcl 进 
 # 行 后 台 升 级 
 for eachline in `cat ip.out` ;do 
 
 # 执行 update 升级脚本,并放入后台执行 
 ./update.tcl $eachline USERID PASSW0RD & 
 
 done 
 
 # 延 迟 20 分 钟 , 结 束 所 有 的 update.tcl 进 程 
 sleep 1200 
 
 killall update.tcl 

上一页  1 2 3 4 5 6 7 8  下一页

Tags:通过 Shell Expect

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接