在前段時間分享過一篇關于《自動化網絡巡檢腳本》,是采用python編寫的通過ssh或者telnet自動獲取網絡設備的某些信息。今天,在此基礎上進行擴展,實現網絡配置文件備份的功能。
實現思路網絡配置文件可以通過執行display current-configuration all獲取,然後再把輸出結果保存,這是一種比較常用的方式,今天通過另外一種方式保存配置文件。通過執行display startup,可以查看到該設備運行的是那個配置文件,如下圖
從上圖看到這個網絡設備運行的配置文件是在flash:/vrpcfg.zip。隻要我們把這個文件保存下來就實現了網絡配置備份了。至于把這個文件備份到哪裡,可以根據自己的需求而定,比如,可以備份到内部的FTP中,也可以把配置文件備份到百度雲上。其實,歸根結底是實現如何把vrpcfg這個配置文件上傳到FTP中。
實現過程1、配置ftp服務器
FTP服務器可以采用一鍵部署的軟件或者采用linux部署的方式,FTP主要用于保存網絡配置文件用。這裡,演示采用一鍵部署的FTP方式(FTPserver.exe)
2、編寫python腳本把配件文件上傳到FTP中。
2.1、登錄FTP服務器關鍵代碼
def login_ftp(telnetsession,password_prompt):
telnetsession.write("ftp 192.168.1.1\n") #ftp服務器IP
time.sleep(1.5)
telnetsession.read_until("(none)):")
telnetsession.write("admin\n") #ftp用戶名
time.sleep(1.5)
telnetsession.read_until(password_prompt)
telnetsession.write("nomore532\n") #ftp用戶名和密碼
time.sleep(1.5)
telnetsession.read_until("[ftp]")
telnetsession.write("cd " time2 "\n")
telnetsession.read_until("[ftp]")
2.2、上傳關鍵代碼如下:
telnetsession.write("\n")
telnetsession.read_until(_UsermodTag)
login_ftp(telnetsession,password_prompt)
telnetsession.write("put vrpcfg-1n.cfg %s" %Host '_' time2 "_vrpcfg-1n.cfg" "\n")
telnetsession.read_until('[ftp]')
以上代碼是把 vrpcfg-1n.cfg上傳到FTP服務中。我這裡采用的定時任務,每周五執行備份。如下圖
最終的實現效果如上圖,把你需要備份的網絡設備文件上傳到以日期命名的文件夾上。
完整的備份腳本請關注并私信回複“備份”回複獲取
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!