基于expect语言自动备份
2016-11-26
随着高校校园网网络规模不断扩大,各种网络设备的数量也随之增加,在这种情况下,网络配置管理的任务变得很重,网络管理人员的工作量非常大。本文介绍了一种利用免费的linux expert软件来实现网络配置自动保存方案的设计与实现。
Linux Expert网络配置提取介绍
Expert语言介绍
Linux中的Expect是免费开源的编程语言,在网上即可公开下载,特点是可以用来实现自动和交互式任务的通信,无需工作人员的参与。Expect的作者给出了如下的定义:Expect语言是一个用来实现自动交互功能的软件。它可以根据交互的情况,自动和系统进行对话,完成编程者部署的任务。Expert语言的用途很广,可以应用在大量基于命令行形式的工作场景之中,可以自动或者定时完成各种任务。
网络设备配置下载介绍
网络设备的网络配置下载方法,一般来说,有基于http方式下载和基于命令行方式下载两种,基于http下载的设备一般很少,本文不再做介绍。而目前主流的设备都是支持命令行方式进行下载的,使用的方式一般都是用tftp软件将网络配置从远程的设备下载到本机。用tftp软件来下载网络设备配置比较实用,不过缺点就是各种设备的下载命令不尽相同,而且每台设备都需要1-2分钟,如果管理了100台以上的设备时,要做到天天记录设备配置就不太现实。若是网络配置没及时更新,当出现故障时,最新的配置将丢失,严重的将导致新换上的设备无法正常工作。
基于expert语言的网络设备配置自动备份系统设计与实现
软件版本和硬件选择
操作系统:Linux
Expert 语言安装包:linux光盘自带
工作站:学校提供的虚拟服务器(2G内存)
系统安装过程
1)操作系统安装:在网上下载公开免费的linux redhat5.9 iso。用dvd刻录机和刻录软件将iso刻成光盘安装。
2)expert安装 :在刻录的linux光盘中即有expert安装包,首先将安装光盘mount上,命令如下:
然后进入到安装目录,先后安装依赖包和安装包即可,命令如下:
针对不同型号的设备进行expert编程
目前高校校园网中主流设备有:华三、华为、锐捷及思科等。下面以华三的交换机为例。
根据expert语言可以编写如下代码:
实验结果
在真实校园网下,选取了华三、华为、锐捷、思科及阿尔卡特等各种类型的设备八台,在不到90秒的时间内自动完成了网络配置的自动上传。而使用者要做的只需要在命令行中执行一条命令即可。
在实施期间,碰到过一个比较难的问题就是一些复杂的特殊字符密码不支持,后用转义符号“”加在特殊字符前面就顺利解决了。