用python写的,主要是telnetlib库的应用,华为交换机批量修改端口配置,把已经UP的端口做一个port sec的mac sticky绑定,DOWN的端口,就clear配置信息。
使用前,先在交换机上 dis int bri,查出交换机的端口状态信息并复制到此脚本同目录下,以 IP.txt这样的格式命名的文件(比如 192.168.0.1对应 192.168.0.1.txt),以下内容记得把IP跟账号密码改成自己的。
import sys,os,telnetlib,re
ip = '你的IP'
txtfile = ip + '.txt'
tel = telnetlib.Telnet(ip)
tel.read_until('Username:')
tel.write('你的账号'+'\n')
tel.read_until('Password:')
tel.write('你的密码'+'\n')
tel.read_until('>')
tel.write('sys'+'\n')
file1 = open(txtfile)
while True:
a = file1.readline()
if a == '':break
int1 = a[:21]
if re.search('up',a):
print int1,' up'
tel.read_until(']')
tel.write('int'+' '+ int1 +'\n')
tel.read_until(']')
tel.write('port-security enable'+'\n')
tel.read_until(']')
tel.write('port-security mac-address sticky'+'\n')
else:
print int1,' down'
tel.read_until(']')
tel.write('int'+' '+ int1 +'\n')
tel.read_until(']')
tel.write('clear configuration this '+'\n')
tel.read_until('[Y/N] :')
tel.write('Y' + '\n')
tel.read_until(']')
tel.write('undo shutdown'+'\n')
tel.close()
转载于:https://blog.51cto.com/374721/1690839