批量备份交换机路由器配置

  作为一个技术不算厉害的网络运维工程师,需要定期备份网络设备的配置,如果一台一台手动地:打开CRT—ssh远程某台网络设备—disply cur—保存log文本,我曾经计算过,我这样子一台一台手动保存大约25台设备配置的时间得半个钟,这种繁杂重复的操作还是交给脚本语言完成能够事半功倍。我最近也是在不断学习python语言,但是目前我还没有用过python脚本语言做这个自动备份设备配置的实验,待我对python脚本语言足够了解透彻,我想到时候我就可以信心满满地写新的博客心得了。

  基于管理的网络设备都是使用SSH登录方式为多,所以我写的VBS脚本是采用SSH方式登录的,网上很多都是Telnet方式,现在,我就把我成功的案例分享出来,一起学习进步吧!

  需要的软件:SecureCRT

  实现的脚本:自动备份.vbs,list.txt

  自动备份.vbs:分享链接是 https://pan.baidu.com/s/1aewzh561bndY-toPiIU-Mg 提取码: nggv (vbs和txt两个文本放在同一个目录下,需要修改自动备份.vbs内容,请重命名为.txt后缀,然后改变脚本的list.txt文本路径)

  list.txt:格式如左图,一台设备占一行,一行的内容是:设备IP  设备名称  设备登录账号 设备登录密码

 

  完成以上两个文本后,打开SecureCRT,然后点击目录“脚本”,再点击“执行”,然后导入自动配置.vbs这个脚本,就能够批量备份交换机路由器等网络设备的配置了。

转载于:https://www.cnblogs.com/yunsi/p/11372890.html

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 批量备份交换机配置文件的shell脚本可以通过使用SSH协议远程登录到交换机,并执行相应的命令来实现。 以下是一个示例的批量备份交换机配置文件的shell脚本: ```bash #!/bin/bash # 配置交换机设备的IP地址和凭据 switches=("192.168.1.1" "192.168.1.2") username="admin" password="password" backup_folder="/path/to/backup/folder" # 循环遍历所有交换机 for switch in "${switches[@]}" do # 使用SSH登录到交换机 sshpass -p $password ssh -o StrictHostKeyChecking=no -l $username $switch << EOF # 执行备份交换机配置的命令 show running-config > $backup_folder/switch_$switch.cfg # 退出交换机 exit EOF # 检查备份是否成功 if [ $? -eq 0 ]; then echo "交换机 $switch 的配置文件备份成功!" else echo "交换机 $switch 的配置文件备份失败!" fi done ``` 在这个脚本中,我们首先定义了需要备份交换机的IP地址、登录凭据和备份文件夹路径。然后,使用一个循环遍历所有的交换机。循环体内,我们使用`sshpass`命令通过SSH登录到指定的交换机,并在一个Here Document中执行备份配置文件的命令,将配置文件保存到指定的备份文件夹中。最后,通过检查命令的退出状态来判断备份是否成功,并给出相应的提示信息。 使用这个示例shell脚本,您可以根据实际情况修改交换机的IP地址和凭据,以及备份文件夹的路径,来实现批量备份交换机配置文件的功能。 ### 回答2: 批量备份交换机配置文件的Shell脚本可以使用以下方法实现: 1. 首先,创建一个用于存储备份文件的目录,可以使用`mkdir`命令创建。 ``` mkdir backup_directory ``` 2. 使用`for`循环遍历所有需要备份交换机IP地址。 ``` for ip in 192.168.1.1 192.168.1.2 192.168.1.3 do # 在这里写配置备份的命令 done ``` 3. 使用`ssh`命令登录到交换机,并执行备份配置的命令。这里可以使用`expect`工具来自动输入登录密码。 ``` ssh username@ip << EOF expect "password: " send "password\r" expect "#" send "show running-config > backup_directory/switch_config_${ip}.txt\r" expect "#" send "exit\r" EOF ``` 其中,`username`和`password`分别为登录交换机的用户名和密码。 4. 执行完备份命令后,将备份文件从交换机复制到本地备份目录。 ``` scp username@ip:~/backup_directory/switch_config_${ip}.txt ~/backup_directory/ ``` 这里的`username`为登录交换机的用户名,`ip`为交换机的IP地址。 5. 最后,使用`rm`命令删除交换机上的备份文件。 ``` ssh username@ip << EOF expect "password: " send "password\r" expect "#" send "rm backup_directory/switch_config_${ip}.txt\r" expect "#" send "exit\r" EOF ``` 以上就是一个简单的批量备份交换机配置文件的Shell脚本。根据实际需要,可以调整和优化脚本中的命令和参数。 ### 回答3: 批量备份交换机配置文件的shell脚本如下: ```shell #!/bin/bash # 定义交换机IP列表 switches=("192.168.1.1" "192.168.1.2" "192.168.1.3") # 定义备份目录 backup_dir="/path/to/backup" # 遍历交换机列表 for switch in "${switches[@]}" do # 连接到交换机并执行备份命令 ssh user@$switch "copy running-config tftp backup-server $backup_dir/$switch.conf" # 检查备份结果 if [ $? -eq 0 ]; then echo "交换机 $switch 配置文件备份成功" else echo "交换机 $switch 配置文件备份失败" fi done ``` 上述脚本中,我们首先定义了一个交换机IP列表和备份目录,然后使用循环遍历每个交换机IP。在循环中,我们通过SSH连接到交换机,并执行备份命令。备份命令中的具体参数可以根据不同交换机厂商和型号进行调整。最后,我们检查备份结果并输出相应的信息。 请注意,在执行该脚本之前,请确保已经配置SSH公钥认证以及正确配置交换机的TFTP服务器信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值