在平常工作中需要定期备份交换机配置,如果一个个手动备份,工作量十分巨大,那有没有什么好的工具来减轻我们备份的工作量呢?经过查找资料,发现可以利用expect脚本来实现,expect可以与shell相互配合,以使Linux shell能够支持交互。可以让我们登录到服务器及网络设备上执行例行性工作及批处理操作等。
整体思路:我们利用脚本登录交换机执行命令,以便将配置文件保存到tftp服务器上,因此需要expect环境的准备以及tftp服务器的准备。
一、 expect环境的准备
操作系统:CentOS 6.3 最小化安装
[root@game-syslog-o /]# yum -y install expect #安装expect+tcl环境
[root@game-syslog-o /]# yum -y install openssh-clients #安装openssh
#我这里的环境登录交换机是采用ssh登录所以需要安装
二、 tftp服务器的准备
更改tftp配置文件
[root@game-syslog-o /]# yum -y install tftp tftp-server #安装tftp软件,以便存储配置文件
[root@game-syslog-o /]#mkdir /opt/tftp #建立tftp目录
[root@game-syslog-o /]#chmod 777 –R /opt
[root@game-syslog-o /]# vi /etc/xinetd.d/tftp #编辑配置文件
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /opt/tftp -c
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
#指定tftp目录并启用
[root@game-syslog-o /]# /etc/init.d/xinetd restart #重启xinetd服务
关闭iptables
[root@game-syslog-o /]#servive iptables stop
关闭selinux
[root@game-syslog-o /]# vi /etc/selinux/config
SELINUX=disable
#重启生效
所有的准备工作都已经做好,下面来看一下脚本。