使用expect和cvs来给华为设备做配置比较

所属分类: 实用技巧 / 硬件维护 阅读数: 1902
收藏 0 赞 0 分享
以前一只用rancid来对cisco的设备做配置比较,但显然rancid对华为不太友好,一直就不支持华为设备(包括h3)。因此呢,由于本人还有点小聪明,知道rancid是考expect和cvs来实现的,于是乎自己写了些比较笨的脚本来给华为的设备做配置比较。
1)去华为设备抓配置
#!/usr/local/bin/expect
spawn telnet x.x.x.x
expect "sername:"
send "xxxx\n"
expect "assword:"
send "xxxx\n"
expect ">"
send "su\n"
expect "assword:"
send "xxxx\n"
expect ">"
send "dis cu\n"
log_file /tmp/rancid.tmp/Distribution/configs/d-cp-ne20-1
while (1) {
expect  {
 "More ----" {send " "}
 "1>" {
  send "quit\n" 
  exit
  }
}
}

2)把配置中的换行符和敏感信息去掉
cd /tmp/rancid.tmp
rm /tmp/rancid.tmp/Distribution/configs/d-cp-ne20-1
/home/rancid/huawei/d-cp-ne20-1.sh
cd /tmp/rancid.tmp/Distribution/configs
tr -d '\r' < /tmp/rancid.tmp/Distribution/configs/d-cp-ne20-1 > /tmp/rancid.tmp/d-cp-ne20-1.tmp
mv /tmp/rancid.tmp/d-cp-ne20-1.tmp /tmp/rancid.tmp/Distribution/configs/d-cp-ne20-1
sed -e 's/\ \ ----\ More.\{57\}//g' /tmp/rancid.tmp/Distribution/configs/d-cp-ne20-1 > /tmp/rancid.tmp/d-cp-ne20-1.tmp
mv /tmp/rancid.tmp/d-cp-ne20-1.tmp /tmp/rancid.tmp/Distribution/configs/d-cp-ne20-1 
sed -e 's/d\ cipher.\{25\}/d\ cipher\ ******/g' /tmp/rancid.tmp/Distribution/configs/d-cp-ne20-1 > /tmp/rancid.tmp/d-cp-ne20-1.tmp
mv /tmp/rancid.tmp/d-cp-ne20-1.tmp /tmp/rancid.tmp/Distribution/configs/d-cp-ne20-1 
sed -e 's/\ simple.*/\ simple\ ******/g' /tmp/rancid.tmp/Distribution/configs/d-cp-ne20-1 > /tmp/rancid.tmp/d-cp-ne20-1.tmp
mv /tmp/rancid.tmp/d-cp-ne20-1.tmp /tmp/rancid.tmp/Distribution/configs/d-cp-ne20-1
sed -e 's/local-user\ .*\ /\local-user ***** \ /g' /tmp/rancid.tmp/Distribution/configs/d-cp-ne20-1 > /tmp/rancid.tmp/d-cp-ne20-1.tmp
mv /tmp/rancid.tmp/d-cp-ne20-1.tmp /tmp/rancid.tmp/Distribution/configs/d-cp-ne20-1

3)把配置加入rancid的cvs中
cvs add d-cp-ne20-1
cvs commit -m updates

4)把以下内容做成一个文件加入cron就ok了
cd /tmp/rancid.tmp
rm /tmp/rancid.tmp/Distribution/configs/d-cp-ne20-1
/home/rancid/huawei/d-cp-ne20-1.sh
cd /tmp/rancid.tmp/Distribution/configs
tr -d '\r' < /tmp/rancid.tmp/Distribution/configs/d-cp-ne20-1 > /tmp/rancid.tmp/d-cp-ne20-1.tmp
mv /tmp/rancid.tmp/d-cp-ne20-1.tmp /tmp/rancid.tmp/Distribution/configs/d-cp-ne20-1
sed -e 's/\ \ ----\ More.\{57\}//g' /tmp/rancid.tmp/Distribution/configs/d-cp-ne20-1 > /tmp/rancid.tmp/d-cp-ne20-1.tmp
mv /tmp/rancid.tmp/d-cp-ne20-1.tmp /tmp/rancid.tmp/Distribution/configs/d-cp-ne20-1 
sed -e 's/d\ cipher.\{25\}/d\ cipher\ ******/g' /tmp/rancid.tmp/Distribution/configs/d-cp-ne20-1 > /tmp/rancid.tmp/d-cp-ne20-1.tmp
mv /tmp/rancid.tmp/d-cp-ne20-1.tmp /tmp/rancid.tmp/Distribution/configs/d-cp-ne20-1 
sed -e 's/\ simple.*/\ simple\ ******/g' /tmp/rancid.tmp/Distribution/configs/d-cp-ne20-1 > /tmp/rancid.tmp/d-cp-ne20-1.tmp
mv /tmp/rancid.tmp/d-cp-ne20-1.tmp /tmp/rancid.tmp/Distribution/configs/d-cp-ne20-1
sed -e 's/local-user\ .*\ /\local-user ***** \ /g' /tmp/rancid.tmp/Distribution/configs/d-cp-ne20-1 > /tmp/rancid.tmp/d-cp-ne20-1.tmp
mv /tmp/rancid.tmp/d-cp-ne20-1.tmp /tmp/rancid.tmp/Distribution/configs/d-cp-ne20-1
cvs commit  -m updates > /dev/null

btw:关于cvs在web上的显示,我使用的上viewvc,感觉比cvsweb要好哦。还有,不要说俺的脚本写的很烂,俺是学网络的,脚本这东西,现学现用,凑合了。
更多精彩内容其他人还在看

电脑维修的基本原则和方法

电脑出问题了,可以参考下面的方法逐步解决
收藏 0 赞 0 分享

笔记本开机原理分析

整个笔记本的开机过程分为硬件启动和软件启动﹐硬启动是指POWER的动作过程﹒而软启动部分是指BIOS的POST过程﹒先是硬件启动而后是软件启动了解微机的开机过程,对主板功能维修是很重要的,因为很多功能不良板﹐特别是当机板,可以根据开机的顺序从而判断系统哪部分有问题﹐如果是无显示的
收藏 0 赞 0 分享

喷墨打印机的四个假故障解决办法

喷墨打印机是家庭办公系统或者单位信息化系统中的一个很重要的组成部分,它是计算机系统中的重要输出设备之一。
收藏 0 赞 0 分享

CMOS使用及维护须知

所谓CMOS,就是用来记录电脑中BIOS设置信息的一种装置,它是电脑正常运行的关键所在。但由于CMOS特有的电气性能,一旦CMOS断电,BIOS中的设置信息将全部丢失,计算机将处于无法启动的状态。
收藏 0 赞 0 分享

一根网线内的8根线哪4根是传输数据的,哪四根是防干扰的

水晶头网线顺序与详细分析
收藏 0 赞 0 分享

CMOS路线和硬盘光驱跳线的设置图解教程

跳线(英文Jumper)是控制线路板上电流流动的小开关。它的作用是调整设备上不同电信号的通断关系,并以此调节设备的工作状态,如确定主板电压、驱动器的主从关系等。
收藏 0 赞 0 分享

笔记本T60拆机,安装内存等图解教程

T60-D62/拆机/内存/除尘/消噪音/图解指南(完美图解)最近我的T60噪音特别大了..有一年没清理了,于是拆机进行除尘.网上有很多除尘的图解,可是多半想看到图不是要注册就是拆机(不完美),只拆到包围就不把散热风扇拆出来是没有意义的.所以,我发一个亲手拆机的套图,给T60的朋
收藏 0 赞 0 分享

因插入了一张扩展卡 我的RM970红屏的解决方法

因插入了一张扩展卡 我的RM970红屏的解决方法 一般有可能是驱动问题,因为他支持扩展卡,所以我们可以到他们官方下载最新的
收藏 0 赞 0 分享

光驱不能顺利弹出故障解决方法说明

光驱是我们常用的光存储设备,但光驱也是电脑系统中容易损坏的设备,一台光驱也就是二三年的时间就会寿终正寝。
收藏 0 赞 0 分享

系统找不到光驱电脑找不到光驱的解决方法

前两天,开机突然发现系统的光驱找不到了。郁闷着,自己又没有做什么,以为是数据线的问题,可换来换去,还是老样子
收藏 0 赞 0 分享
查看更多