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

脚本共有四个文件组成其中如下所示,执行过程是tar.sh—>loop.sh—>loginfo.exp,依次调用的关系。脚本依次完成登录每台交换机并在每台交换机执行”tftp 192.168.36.44 put vrpcfg.zip”命令,然后将保存的配置文件改名为相应的交换机IP地址。最后以当天日期为文件名打包成一个文件完成所有操作。其中.sh为shell脚本,.exp为expect脚本,expect脚本只完成登录执行命令的功能,而shell脚本只对保存好的文件做处理,不知这么说是否清楚?呵呵

1. loginfo.exp

#!/usr/bin/expect #注意这是用expect来执行脚本,而不是shell

set ip [lindex $argv 0] #传递来自shell脚本的变量$ip的值

spawn ssh -v -1 -c des -q -o StrictHostKeyChecking=no wang11@game-inc.com@$ip #ssh登录这里输入ssh帐号

expect "*password:" #expect是一个命令,若匹配"*password:"则继续执行

send "p@ssw0rd\r" #交换机密码 ,\r为输入

expect "*>" #若成功匹配"*>"则继续执行

更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Network/jhjs/

send "tftp 192.168.36.44 put vrpcfg.zip\r" #在交换机上执行命令,192.168.36.44是tftp服务器的地址

expect "*>" #匹配则继续

send "quit\r" #登出交换机

expect eof #expect脚本执行结束

2. loop.sh

#!/bin/sh

while read ip

do

expect loginfo.exp $ip #调用loginfo.exp 脚本

mv /opt/tftp/vrpcfg.zip /opt/tftp/$ip.zip #将tftp上的配置文件改名为相应的IP地址

done < ip.txt

3. tar.sh

#!/bin/sh

/bin/sh loop.sh

cd /opt/tftp

tar -zcvf $(date +%Y%m%d).tar.gz *.zip #整个循环结束后将所有文件打包

rm -rf /opt/tftp/*.zip

4. ip.txt

192.168.36.1

192.168.36.2

……

192.168.36.254

以上所有脚本放在同一目录下执行即可

[root@localhost opt]# sh -x tar.sh

未完待续~

本文出自 “王11” 博客,请务必保留此出处http://wangshiyi.blog.51cto.com/703685/1122163

时间: 2024-10-06 19:54:13

如何利用expect脚本实现备份华为交换机配置之(二)的相关文章

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

在平常工作中需要定期备份交换机配置,如果一个个手动备份,工作量十分巨大,那有没有什么好的工具来减轻我们备份的工作量呢?经过查找资料,发现可以利用expect脚本来实现,expect可以与shell相互配合,以使Linux shell能够支持交互.可以让我们登录到服务器及网络设备上执行例行性工作及批处理操作等. 整体思路:我们利用脚本登录交换机执行命令,以便将配置文件保存到tftp服务器上,因此需要expect环境的准备以及tftp服务器的准备. 一. expect环境的准备 操作系统:Cento

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

前面两篇博文已经说明如何备份配置文件,expect脚本的功能就是提供交互,登录每台交换机执行备份命令将其copy到tftp服务器上.但在我们平常工作的时候,一般备份的方法就是dis cu或sh run然后将屏幕上的信息复制下来,其实将之前的脚本稍加改动就可以利用这种方法来备份配置,当然这种方法不光可以备份配置文件,只需替换相关的命令,备份任何在屏幕输出的信息都可以.下面我们以备份mac地址为例来说明一下. 1. loginfo.exp #! /usr/bin/expect set ip [lin

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

为了方便管理,我们可以将windows共享文件夹挂在到linux下,以便让备份的数据能够通过windows来随时查看,并制定相应的计划任务让脚本自动运行. 1. 将windows共享挂载到/mnt/share [root@game-syslog-o /]mount -t cifs -o username=switchbackup@game-inc.com,password=p@ssw0rd //192.168.36.74/Backup /mnt/share 2. 编辑rc.local开机自动挂载

策略路由-华为交换机配置旅游策略后网速特别慢

问题描述 华为交换机配置旅游策略后网速特别慢 [V200R005C20SPC200] # drop illegal-mac alarm # ipv6 # dns resolve dns server 202.102.224.68 dns server 202.102.227.68 dns proxy enable # wlan ac-global carrier id other ac id 0 # dhcp enable # pki realm default enrollment self-

start-本地shell利用expect 执行远程主机脚本启动tomcat失败,无法启动。

问题描述 本地shell利用expect 执行远程主机脚本启动tomcat失败,无法启动. 本地shell脚本利用expect 执行远程主机脚本,远程脚本中设置了环境变量,使用catalina.sh start启动tomcat,但是无法启动,logs/下只有catalina.out并且无内容,登陆到远程主机执行脚本可以正常启动tomcat,是什么原因? 解决方案 看一下catalina.out,里面有没有什么错误提示之类的 解决方案二: 看一下日志文件,报的什么错.粘出来看看

华为路由器交换机配置命令

华为路由器交换机配置命令:计算机命令 PCAlogin:root:使用root用户 password:linux:口令是linux #shutdown-hnow:关机 #init0:关机 #logout:用户注销 #login:用户登录 #ifconfig:显示IP地址 #ifconfigeth0netmask:设置IP地址 #ifconfigeht0netmaskdown:禁用IP地址 #routeadd0.0.0.0gw:设置网关 #routedel0.0.0.0gw:删除网关 #route

linux下用expect脚本实现ssh 自动登陆服务器

又学了一个小招,使用 expect 脚本语言实现 ssh 自动连接到服务器,可以自动输入密码.因为每次使用 ssh root@xx.xx.xx.xx 连接服务器,都要手动输入一遍密码,有没有办法自动输入密码呢? 在网上搜索了一下,果然有办法,有一种脚本语言 expect ,它的作用就是能与交互式程序进行"可程序化"会话,比如自动输入密码,碰到"password"字符就会自动输入密码. 首先要安装 expect 脚本程序,不过在 Macbook 中自带了.比如 Cen

flash教程:利用AS脚本功能实现图片模糊变清晰

核心提示:在一些片头动画里我们经常能看到很炫的模糊变清晰的特效动画,极具视觉冲击. 在一些片头动画里我们经常能看到很炫的模糊变清晰的特效动画,极具视觉冲击.高质量的模糊效果大多利用Photoshop处理后才导入Flash中,然后利用AS脚本功能来实现图片模糊变清晰的变化效果,效果很不错. 首先用Photoshop制作两张图.一张清晰的的,一张模糊的(可以用Photoshop的高斯模糊滤镜). 把两张图片导入到FLASH中,分别建立三个图层,顺序依次为:清楚的图片(最下面).模糊的图片(在中间).

华为交换机的端口镜像配置

镜像端口简单的说,就是把交换机一个(数个)端口(源端口)的流量完全拷贝一份,从另外一个端口(目的端口)发出去,以便网络管理人员从目的端口通过分析源端口的流量来找出网络存在问题的原因. 配置好交换机的端口镜像,就可以方便使用网路岗上网行为管理软件来监控管理您的网络了,使用网路岗可以监控管理公司的上网记录,监控QQ聊天内容,MSN聊天内容,邮件收发记录等.下面我们来看一下华为交换机是如何进行端口镜像配置的: 配置环境参数:PC1和PC2的IP地址分别为10.10.1.1/24.10.10.1.2/2