熱門分類
載入中…
目錄0%

🧠 FortiGate 自動化備份與變更比對腳本

    🧠 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・自動化網管筆記

    🔗 分享這篇 LINE Facebook X

    沒有留言:

    字級