This commit is contained in:
2025-12-15 14:31:29 +01:00
parent 241b345db1
commit 50c1c46809
21 changed files with 89 additions and 1499 deletions

View File

@@ -1,10 +1,7 @@
import json
import os
import re
import csv
import sys
from datetime import datetime
from netmiko import ConnectHandler
from netmiko.exceptions import NetmikoTimeoutException, NetmikoAuthenticationException
@@ -81,24 +78,8 @@ if __name__ == "__main__":
if firmware_data:
all_switches_firmware.append(firmware_data)
# --- Opcionális: CSV mentés ---
if all_switches_firmware:
OUTPUT_DIR = "results"
os.makedirs(OUTPUT_DIR, exist_ok=True)
timestamp = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
CSV_FILENAME = os.path.join(OUTPUT_DIR, f"aruba_firmware_versions_{timestamp}.csv")
print(f"\nÖsszesen {len(all_switches_firmware)} switch adat gyűjtve. Mentés a(z) {CSV_FILENAME} fájlba...", file=sys.stderr)
fieldnames = ['switch_name', 'ip_address', 'firmware_version']
try:
with open(CSV_FILENAME, 'w', newline='', encoding='utf-8') as csvfile:
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(all_switches_firmware)
print(f"Sikeres mentés a(z) '{CSV_FILENAME}' fájlba.", file=sys.stderr)
except IOError as e:
print(f"Hiba történt a CSV fájl írása közben: {e}", file=sys.stderr)
else:
# Ha nem sikerült adatot gyűjteni, jelezzük a stderr-en
if not all_switches_firmware:
print("\nEgyetlen switch-ről sem sikerült adatot gyűjteni.", file=sys.stderr)
# --- Fő kimenet: JSON a stdout-ra ---

View File

@@ -1,15 +0,0 @@
switch_name,ip_address,firmware_version
NET-SW01,10.220.1.84,PL.10.16.1006
NET-SW02,10.220.1.85,PL.10.16.1006
NET-SW04,10.220.1.86,PL.10.16.1006
NET-SW05,10.220.1.87,PL.10.16.1006
NET-SW06,10.220.1.88,PL.10.16.1006
NET-SW01-CORE,10.220.1.89,LL.10.16.1006
NET-SW07,10.220.1.90,PL.10.16.1006
NET-SW08,10.220.1.91,PL.10.16.1006
NET-SW09,10.220.1.92,PL.10.16.1006
NET-SW10,10.220.1.93,PL.10.16.1006
NET-SW11,10.220.1.94,PL.10.16.1006
NET-SW13,10.220.1.96,PL.10.16.1006
NET-SW16,10.220.1.98,PL.10.16.1006
NET-SW17,10.220.1.99,PL.10.16.1006
1 switch_name ip_address firmware_version
2 NET-SW01 10.220.1.84 PL.10.16.1006
3 NET-SW02 10.220.1.85 PL.10.16.1006
4 NET-SW04 10.220.1.86 PL.10.16.1006
5 NET-SW05 10.220.1.87 PL.10.16.1006
6 NET-SW06 10.220.1.88 PL.10.16.1006
7 NET-SW01-CORE 10.220.1.89 LL.10.16.1006
8 NET-SW07 10.220.1.90 PL.10.16.1006
9 NET-SW08 10.220.1.91 PL.10.16.1006
10 NET-SW09 10.220.1.92 PL.10.16.1006
11 NET-SW10 10.220.1.93 PL.10.16.1006
12 NET-SW11 10.220.1.94 PL.10.16.1006
13 NET-SW13 10.220.1.96 PL.10.16.1006
14 NET-SW16 10.220.1.98 PL.10.16.1006
15 NET-SW17 10.220.1.99 PL.10.16.1006