设为首页 收藏本站
查看: 1194|回复: 0

[经验分享] cisco网络设备配置自动备份

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-1-22 08:27:39 | 显示全部楼层 |阅读模式
一、背景

客户要用,需求就是这么简单。简单说一下吧。网络设备太多了,传统的手动备份网络设备配置信息工作量越来越大,并且不易管理。由此就必须有一种比较简单的方式了。
二、备份方式
一、cisco设备自带kron命令+TFTP/FTP/HTTP

这种备份方式比较简单,但是有一定的局限性。因为kron命令在比较新的IOS版本上才有,有些说在12.3(4)以上才有,我测试的版本是12.2(33),也有这个命令。

但是kron命令本身并不能自动按照当前日期来命名备份文件,所以还需要脚本来帮助wanc
原理图:

kron.jpg

操作步骤:
一、网络设备操作:

kron命令详细可参考http://www.cisco.com/c/en/us/td/ ... k/cns-cmd-sched.pdf

使用kron命令配置自动备份任务计划
1、kron policy-list backup #创建任务计划
2、cli write #保存当前网络设备配置,以防止备份信息不完整
3、cli show run | redirect tftp://172.16.20.223/switch1.cfg #switch1.cfg为备份文件名,不同设备使用不同的备份文件名
4、exit
5、kron occurrence backup at 00:01 1 recurring #每月1日00:01执行备份
6、policy-list backup #启动计划任务
7、exit
使用do show kron schedule命令可以查看计划任务
1、do show kron schedule

二、TFTP服务器端操作步骤:

service cron restart

三、好了看看备份效果吧

switch.jpg


二、Shell脚本(Telnet/SSH)+TFTP/FTP/HTTP

这种方式适用于ISO版本过低,没有kron命令的方式,原理就是通过在linux服务器上定时执行shell脚本登录到网络设备上备份配置信息到TFTP服务器实现网设备配置信息的自动备份。可以通过Telnet/SSh登陆,Telnet不安全,推荐SSH。如果你一定要用Telnet,那么稍微修改一下脚本就可以了。
原理图:

ssh.jpg

操作步骤
TFTP服务器端操作步骤:(和第一种方式一样,需要多装一个expect)

yum -y install expect

创建交换机配置信息文件

vi /backup/tftpboot/switch.conf
cisco|172.16.20.1|cisco|cisco
cisco|172.16.20.2|cisco|cisco
说明:一共四列,中间用竖线分割。
第一列:交换机登录用户名;
第二列:交换机登录IP地址;
第三列:交换机登录密码;
第四列:交换机enable密码;
每一行为一台交换机的配置信息。

创建备份脚本

vi /backup/tftpboot/switch_backup.sh
#!/bin/bash
Date=`date +%F`
TFTP=172.16.20.223 #TFTP服务器IP地址,只需要改这一个
#我创建了两个模块,我解释一下,因为第一次访问的时候会提示你是否信任该主机,然后将该主机信息添加到known_hosts文件中,而以后访问的时候只要在known_hosts文件中发现有此主机,就不会再次询问,那么使用同一组expect语言就会报错,所以写了两个函数,一个用来第一次登陆,一个用来信任主机之后登陆,比较拙劣。
first_login() {
expect <<EOF
    spawn ssh $name@$server
    expect "(yes/no)"
    send "yes\r"
    sleep 1
    expect "Password:"  
    send "$passwd\r"  
    sleep 1
    expect "*>"  
    send "en\r"  
    sleep 1  
    expect "Password:"  
    send "$enpasswd\r"  
    sleep 1  
    expect "*#"
    send "copy startup-config tftp:\r"
    expect "Address"
    send "${TFTP}\r"
    expect "Destination"
    send "${server}-${Date}.conf\r"  
    sleep 5
    send "exit\r"  
    interact
EOF
}
login() {
expect <<EOF
    spawn ssh $name@$server
    sleep 1
    expect "Password:"  
    send "$passwd\r"  
    sleep 1
    expect "*>"  
    send "en\r"  
    sleep 1  
    expect "Password:"  
    send "$enpasswd\r"  
    sleep 1  
    expect "*#"
    send "copy startup-config tftp:\r"
    expect "Address"
    send "${TFTP}\r"
    expect "Destination"
    send "${server}-${Date}.conf\r"  
    sleep 5
    send "exit\r"  
    interact
EOF
}
for line in `cat /backup/tftpboot/switch.conf`
do
    name=`echo $line |awk -F "|" '{print $1}'`
    server=`echo $line |awk -F "|" '{print $2}'`
    passwd=`echo $line |awk -F "|" '{print $3}'`
    enpasswd=`echo $line |awk -F "|" '{print $4}'`
if grep "$server" $HOME/.ssh/known_hosts > /dev/null 2>&1;then
login
else
first_login
fi
  sleep 3
done

执行脚本、添加计划任务

chmod +x /backup/tftpboot/switch_backup.sh
echo '01 0 1 * * /bin/sh /backup/tftpboot/switch_backup.sh > /dev/null 2>&1' >> /var/spool/cron/root
chmod 600 /var/spool/cron/root
service cron restart

网络设备操作:
a) 配置登录用户名和密码,配置enable密码

b) 配置ssh v2版本登录



OK,比较简单,到这里就结束了。来看一下效果。

ssh1.jpg


OK,备份完成。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-41261-1-1.html 上篇帖子: DHCP+VLAN多网段综合实验 下篇帖子: rip等价负载均衡 网络
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表