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

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

 2009-12-09 00:00:00 来源:WEB开发网   
核心提示: 编写 update.tcl 脚本:要让 AMM 执行固件升级命令,需要执行 AMM 中的update–r–utftp://tftp_ip/firmware_filename–Tmm[1]这样的命令来完成,通过 Shell 和 Expect 脚本实现对 IBM

编写 update.tcl 脚本:

要让 AMM 执行固件升级命令,需要执行 AMM 中的

 update – r – u tftp://tftp_ip/firmware_filename – T mm[1] 

这样的命令来完成。给 telnet 中需要的 IP 地址、用户名和密码三个变量赋值,然后开始请求 telnet 访问,成功之后,执行上述升级命令。run.sh 会读取 ip.out 中每个 AMM 的 IP 地址,并循环调用此脚本来实现多个 AMM 并行升级。

update.tcl 脚本具体内容如下:


清单 3. update.tcl 代码

 #!/usr/bin/expect 
 
 # 设定 timeout 指为 -1,让 expect 永远等待输入 
 set timeout -1 
 
 if { $argc != 3 } { 
  puts "Usage $argv0 hostname userid password" 
  exit 1 
 } 
 
 set host [lindex $argv 0] 
 set user [lindex $argv 1] 
 set pass [lindex $argv 2] 
 
 spawn telnet $host 
 expect *username 
 send "$userr" 
 expect *assword: 
 
 send "$passr" 
 expect system> 
 
 # 发送 update 命令开始升级 AMM 的固件 
 # 需 要 指 定 tftp 服 务 器 地 址 和 AMM 固 件 的 升 级 文 件 名 
 send "update -r -u tftp://192.168.19.3/CNETCMUS.pkt -T mm[1]r" 
 
 
 send "exitr" 
 expect eof 

配置 DHCP 和 TFTP 服务

首先确认服务器上是否安装了 DHCP 和 TFTP 的 rpm 包:

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

Tags:通过 Shell Expect

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