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

简介:

脚本的功能是代替手工到交换机上保存配置,是完全登陆交换机来作的操作,不论交换机的版本高低,只要权限内能敲的命令,基本都可以实现。
脚本的执行过程是这样的: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,依次备份。









本文转自lq201151CTO博客,原文链接:http://blog.51cto.com/liuqun/2043646 ,如需转载请自行联系原作者






相关文章
|
2月前
|
安全 Linux 网络安全
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
99 0
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
|
3月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
231 18
|
3月前
|
网络协议 关系型数据库 Linux
【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包
在App Service for Linux环境中,无法像Windows一样直接使用网络排查工具抓包。本文介绍了如何通过TCPDUMP在Linux环境下抓取网络包,包括SSH进入容器、安装tcpdump、执行抓包命令及下载分析文件的完整操作步骤。
200 5
|
8月前
|
安全 Unix Linux
Veritas NetBackup 11 for Linux & Windows - 领先的企业备份和恢复解决方案
Veritas NetBackup 11 for Linux & Windows - 领先的企业备份和恢复解决方案
301 0
Veritas NetBackup 11 for Linux & Windows - 领先的企业备份和恢复解决方案
|
4月前
|
Web App开发 网络协议 Linux
【Linux】网络基础
TCP/IP五层模型是网络通信的基础框架,将复杂的数据传输过程分为物理层、数据链路层、网络层、传输层和应用层,每层各司其职,协同完成远程通信。该模型确保了不同设备和网络之间的互联互通,是现代互联网运行的核心机制。
295 5
|
3月前
|
数据采集 编解码 运维
一文讲完说懂 WowKey -- WowKey 是一款 Linux 类设备的命令行(CLT)运维工具
WowKey 是一款面向 Linux 类设备的命令行运维工具,支持自动登录、批量执行及标准化维护,适用于企业、团队或个人管理多台设备,显著提升运维效率与质量。
|
4月前
|
网络协议 Linux 开发者
深入Linux中UDP网络通信机制编程探索
以上步骤概述了Linux中UDP网络通信的编程机制。在实现时,因关注细节和上下文环境可能有所调整,但大致流程是一致的。这些知识片段旨在帮助开发者快速上手Linux下的UDP编程,并提供可靠的信息作为编程的基础。在编程实践中,应结合实际业务需求,设计合适的数据传输协议,确保数据的正确性和实时性。
127 0
|
6月前
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
194 18
|
4月前
|
监控 Linux 开发者
理解Linux操作系统内核中物理设备驱动(phy driver)的功能。
综合来看,物理设备驱动在Linux系统中的作用是至关重要的,它通过与硬件设备的紧密配合,为上层应用提供稳定可靠的通信基础设施。开发一款优秀的物理设备驱动需要开发者具备深厚的硬件知识、熟练的编程技能以及对Linux内核架构的深入理解,以确保驱动程序能在不同的硬件平台和网络条件下都能提供最优的性能。
274 0
|
6月前
|
Linux 数据安全/隐私保护
使用Linux命令行接入无线网络Wi-Fi的示例。
现在,你已经使用命令行成功地连接到 Wi-Fi 网络了。这两个示例涵盖了用 `nmcli` 和 `wpa_supplicant` 连接无线网络的常见场景,让你能够不依赖图形化界面来完成这个任务。在日常使用中熟练掌握这些基本操作能增强你对 Linux 系统的理解,帮助你更有效地处理各种问题。
451 12