🧠 FortiGate 自動化備份與變更比對腳本
FortiGate 防火牆管理中,設定備份與版本差異比對 是維運關鍵。 本篇示範如何透過 CLI 與 Python 自動化腳本 定期備份設定,並自動比較變更差異。
📘 一、建立自動化備份排程
使用 Python 透過 SSH 備份設定:
import paramiko, datetime
ip = "192.168.1.254"
user = "admin"
password = "yourpassword"
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(ip, username=user, password=password)
stdin, stdout, stderr = client.exec_command("show full-configuration")
config = stdout.read().decode()
filename = f"backup_{datetime.date.today()}.conf"
with open(filename, "w") as f:
f.write(config)
client.close()
print(f"✅ 備份完成:{filename}")
⚙️ 二、比對變更差異
diff backup_2025-10-22.conf backup_2025-10-23.conf
可搭配 difflib 模組產出報告:
import difflib
old = open("backup_2025-10-22.conf").readlines()
new = open("backup_2025-10-23.conf").readlines()
diff = difflib.HtmlDiff().make_file(old, new, "Old", "New")
open("diff.html","w").write(diff)
🔗 延伸閱讀
— WWFandy・自動化網管筆記
沒有留言: