import os
import paramiko
# 定义函数,用于执行Show命令并将结果写入文件
def execute_show_command_and_save_to_file(ssh, command, directory):
# 执行Show命令并获取输出
stdin, stdout, stderr = ssh.exec_command(command)
output = stdout.read()
# 将结果写入文件
filename = os.path.join(directory, f"{command.replace(' ', '_')}.txt")
with open(filename, "w") as f:
f.write(output.decode())
# 打开存储IP地址的文件
with open("ip_addresses.txt", "r") as f:
ip_addresses = f.readlines()
# 循环读取IP地址
for ip_address in ip_addresses:
ip_address = ip_address.strip() # 去除行末的换行符
# 创建SSH客户端并登录
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
ssh.connect(ip_address, username="admin", password="password", timeout=1)
# 根据IP地址创建目录并进入
directory = os.path.join(os.path.abspath("."), ip_address.replace('.', '_'))
os.makedirs(directory, exist_ok=True)
ssh.exec_command(f"cd {directory}")
# 从文件中读取Show命令
网络设备自动化数据采集Python脚本
最新推荐文章于 2024-12-01 15:44:02 发布
该博客介绍了一个Python脚本,通过paramiko库实现网络设备的SSH连接,自动执行Show命令并把输出结果保存到对应IP地址的文件中。脚本首先打开包含IP地址的文件,然后对每个地址建立SSH连接,执行预先定义的一系列Show命令,将结果存储到以IP地址命名的目录下的文本文件中。如果遇到登录失败或SSH连接问题,脚本会捕获异常并打印错误信息。

最低0.47元/天 解锁文章
2161

被折叠的 条评论
为什么被折叠?



