第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > python脚本连接交换机 自动执行命令。

python脚本连接交换机 自动执行命令。

时间:2020-12-14 14:42:47

相关推荐

python脚本连接交换机 自动执行命令。

python脚本连接交换机,自动执行命令。

python脚本连接交换机,自动执行命令,查询交换机端口的学习mac地址,自动写入txt中。设置定时器,每xx秒执行一次,自动对比上次返回结果,TXT中保存比较全的一次查询结果。

本人已经在ensp模拟器中测试成功了,文章最后附上拓扑图。

import paramikoimport timeimport sysimport threadingdef MAC1():# 创建SSH对象ssh = paramiko.SSHClient()# 允许连接不在know_hosts文件中的主机ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())# 连接服务器ssh.connect(hostname='远程连接的IP地址', port=22, username='用户名', password='密码')# 执行命令stdin, stdout, stderr = ssh.exec_command('dis mac-address')# 获取命令结果res,err = stdout.read(),stderr.read()result = res if res else errfanhui=result.decode() #将查询返回的结果赋值给"fanhui"字符串。with open("D:/端口绑定情况.txt", "r") as f: # 打开文件data = f.read() # 读取文件# print(len(data)) #打印读取到的字符串的长度。if len(fanhui)>len(data): #比较读取到的字符串的长度和查询返回字符串的长度,如果文本中的字符串的长度大,则不更新文本里的内容;反之则更新文本里的内容。with open("D:/端口绑定情况.txt","w") as f1:f1.write(fanhui) # 自带文件关闭功能,不需要再写f.close()# print("查询到的结果是:%s"%fanhui)else:# print("查询到的结果跟上次相比没有变化,是:%s"%data)print("查询到的结果跟上次相比没有变化,或者上次查询到的比较全面!")# 关闭连接ssh.close()def fun_timer():MAC1()global timertimer=threading.Timer(5,fun_timer) #制作定时器,5秒执行一次。timer.start()# sys.stdout.flush()#刷新缓冲区fun_timer() #调用定时器的函数time.sleep(15)#15秒之后定时器进行休眠timer.cancel()#结束定时器

写这个脚本的目的是偷懒,本人菜鸟一枚,欢迎各路大神指正!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。