用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,reip = '你的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()