大家好,好久没写博客了,最近都在忙着学习python自动化脚本

特别是网络运维,python这一块的小伙伴,对于现在自动化运维这么火的时候,如果每天都是重复着平淡重复性的工作,可以学习python自动化运维,工作可以做到事半功倍。是不是觉得特别高大上,好了,接下来,推送干货的时间到了。

作为一个网络运维工程师,少不了定期对路由器交换机防火墙等网络设备进行配置备份。根据我个人的实战经验,如果是传统的一台台进行手动ssh登录,然后敲入命令log文件,25台就需要30分钟左右,现在有了自动化脚本,25台只需要3分钟的时间就可以完成,是不是效率很高呢!下面,进行脚本代码分析。

使用到的脚本是vbs脚本,还有一个list.txt存放交换机的登录账号密码的。

list.txt:例如下方的截图,每一行的内容是:ip地址 设备逻辑名 账号 密码,一行写一台设备的信息。

python数通交换机脚本 交换机批量脚本_python

 

 备份.vbs脚本:

在E:\备份配置脚本,这个文件夹可以存放list.txt和备份.vbs脚本,在E:\配置备份\九月份 存放设备的配置备份。

#$language = "VBScript"
# $interface = "1.0"  
'本脚本示范:从一个文件里面自动读取设备IP地址,密码等,自动将设备配置备份 
Sub Main
'打开保存设备管理地址、名称以及密码的文件
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso,file1,line,str1,params
Set fso = CreateObject("Scripting.FileSystemObject")
Set file1 = fso.OpenTextFile("E:\备份配置脚本\list1.txt",Forreading, False)
crt.Screen.Synchronous = True
DO While file1.AtEndOfStream <> True
'读出每行
line = file1.ReadLine
'分离每行的参数 IP地址 密码 En密码
params = Split (line)
crt.session.LogFileName = "E:\配置备份\九月份\" & params(1) & " " & params(0) & ".txt"
crt.session.Log(true)
'SSH到这个设备上
crt.Session.Connect ("/SSH2 /PASSWORD "& params(3) & " " & params(2) & "@" & params(0))
'备份配置
str1 = "Disp cur"
crt.Screen.Send str1 & vbcr 
Do Until crt.Screen.WaitForString ("---- More ----",3) = False
crt.Screen.Send " "
loop

'备份完成后退出          

crt.Session.Disconnect

loop

crt.Screen.Synchronous = False

End Sub

 很多设备,可以因为厂商不同,用的查询命令不一样,我的例子用的是华为交换机设备,如果有多种不同设备,可以采用多个脚本,相同厂商的设备可以放在一个list.txt里面,取决于命令是否相同。

 备份.vbs脚本标红色的字体,就是设备查询配置的命令,出现show cu这种命令,可以代替里面的‘disp cur’,就是这么简单的一个脚本。

 做好这两个脚本后,就可以代开crt终端软件。

1、

python数通交换机脚本 交换机批量脚本_IP_02

 

2、点击执行,然后出现选择vbs文件的框,找到你存放的文件夹,打开备份.vbs脚本,点击打开,如无意外,可以看到脚本已经正常打开你想备份的设备,自动执行备份配置的操作,如果出现报错,就需要你重新审核你的vbs脚本和list.txt文本了。

需要一个vbs脚本,也可以打开链接 https://pan.baidu.com/s/1aewzh561bndY-toPiIU-Mg 提取码: nggv下载下来。

好了,今天的客厅已经讲完了,有问题解决不了可以私信我,多多支持我哦!

如有问题请留言,谢谢!