lx86 发表于 2018-7-25 10:41:41

利用expect脚本实现备份华为交换机配置之(三)

  前面两篇博文已经说明如何备份配置文件,expect脚本的功能就是提供交互,登录每台交换机执行备份命令将其copy到tftp服务器上。但在我们平常工作的时候,一般备份的方法就是dis cu或sh run然后将屏幕上的信息复制下来,其实将之前的脚本稍加改动就可以利用这种方法来备份配置,当然这种方法不光可以备份配置文件,只需替换相关的命令,备份任何在屏幕输出的信息都可以。下面我们以备份mac地址为例来说明一下。
  1. loginfo.exp
  #! /usr/bin/expect
  set ip
  set timeout 1
  spawn ssh -v -1 -c des -q -o StrictHostKeyChecking=no wang11@game-inc.com@$ip
  expect "*password:"
  send "p@ssw0rd\r"
  expect "*>"
  send "dis mac-add | ex Eth-Trunk \r"
  log_file $ip.log #记录输出的信息到$ip.log
  while (1) {
  sleep 1
  expect {
  " ---- More ----" { send " " } #若匹配" ----More ----",则不断的按空格键
  "Total*" { break } #匹配"Total*" 则返回跳出循环
  }
  }
  expect ">"
  send "quit\n"
  expect eof
  2. loop.sh
  #! /bin/sh
  while read ip
  do
  ./loginfo.exp $ip
  done < ip.txt
  3. tar.sh
  #! /bin/sh
  sh loop.sh
  tar jcvf $(date +%Y%m%d).tar.bz2 *.log
  rm -rf *.log
页: [1]
查看完整版本: 利用expect脚本实现备份华为交换机配置之(三)