telnet 登录方式,支持华为、思科。脚本为华为交换机,若思科交换机只需要修改对应交换机命令即可。
ip_list为需要备份配置文件的交换机IP地址
import re
import telnetlib
import time
from openpyxl import load_workbook
# 将IP地址,用户名,密码分别赋给变量host,username,password
username = "user" # 用户名
password = "pass" # 密码
d = open("ip_list.txt")
for line in d.readlines():
ip = line.strip()
session = telnetlib.Telnet(ip)
# 输入用户名和密码登入设备
session.read_until(b"Username:")
session.write(username.encode("utf-8") + b"\n")
session.read_until(b"Password:")
session.write(password.encode("utf-8") + b"\n")
# 执行命令
# 滚动显示
session.write(b"screen-length 0 temporary \n")
session.write(b"display current-configuration \n")
time.sleep(5)
text = session.read_very_eager().decode("utf-8")
print(text) # 显示结果
# # 将结果存储到txt中
f1 = open(f"{ip}_20241109.txt", "w")
f1.write(text)
f1.close()
# 关闭telnet会话
session.close()