Linux上实现网络设备配置文件自动备份

发布时间:2020-07-30 06:47:22 作者:lq2011
来源:网络 阅读:978

脚本的功能是代替手工到交换机上保存配置,是完全登陆交换机来作的操作,不论交换机的版本高低,只要权限内能敲的命令,基本都可以实现。
脚本的执行过程是这样的:telnet到指定交换机--保存配置--通过交换机登陆到服务器--输入用户名密码--将交换机的配置文件上传到FTP服务器上。
下面是脚本内容(vi tel10.sh):

#!/usr/bin/expect                              //此处用的是expect,如果linux没有的话,需要yum安装一下//
set date [exec date "+%Y%m%d"]     //给date变量赋值,后面需要调用//
spawn telnet 192.168.10.10         //这是expect的一个命令,表示从服务器上telnet到192.168.1.104//
expect “Username:"                //在回显的字符串中匹配Username:,如果匹配到,执行下面//
send "admin\r"                        //向交换机发送admin字符串,即输入telnet到交换机的用户名//
expect "Password:"                  //在回显的字符串中匹配Password:,如果匹配到,执行下面//
send "Admin@huawei\r"        //向交换机发送Admin@huawei字符串。即输入tel到交换机的密码//
send "save\r"                          //向交换机发送save字符串,相当于在交换机上执行save命令//
send "Y\r"                //因交换机在save时,会有个交互过程,发送字符串Y,相当于在交换机输入Y//
send "ftp 192.168.10.1\r"          //向交换机发送ftp 192.168.1.1指令,相当于在交换机上输入ftp 192.168.1.1这条命令,意思就是登陆FTP服务器//
send "admin\r"      //发送字符串admin,即输入登陆FTP服务器的用户名//
send "Admin@huawei\r"          //发送字符串Admin@huawei。即输入登陆FTP服务器的密码//
send "put flash:/vrpcfg.zip /configbck/$date.zip\r"  //执行指令Put,交配置文件上传到FTP服务器//
interact               

说明:1、Linux服务器上要先按装expect,否则是不能执行expect命令的。
2、Linux服务器要安装telnet,否则是不能telnet的。此处也可以使用ssh 登录服务器代码如下:

 spawn ssh -p 22 admin@192.168.10.10
                     send "yes\r"
           expect "password:"
           send "Admin@huawei\r"
       3、向交换机发送什么指令,不同的交换机是不一样的,根据需要选择要send的字符串,也就是根据需要来指定你要在交换机的输入的命令。当然不只有备份,像reload /switchport mode trunk都是可以做的。

下面我们要做的是,创建一个crontab自动执行任务

[root@permanet ~]# crontab -e
00 01 * * * /home/expect/tel10.exp   //1点0分,每日每月每周,执行绝对路径下的命令//

可以写改写脚本建立一个ip地址文件,然后读取文件中的ip,依次备份。

推荐阅读:
  1. 网络设备自动备份
  2. MySQL如何CentOS上执行自动备份流程

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

路由器 交换机 自动备份

上一篇:cocos2d-x遇到的一些小问题总结-持续更新

下一篇:Android关于疑难bug处理方法之一(搜索不到相同bug解决方案)

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》