網(wǎng)絡(luò)設(shè)備配置備份在運維過程中是必不可少的,備份的文件可以幫助管理員在設(shè)備出現(xiàn)故障時快速恢復(fù)設(shè)備配置,減少故障時間。當(dāng)設(shè)備過多時,人工一個一個設(shè)備的登錄進行配置備份,實在是太耗費時間了,因此實現(xiàn)設(shè)備配置自動化配置是亟需的。實現(xiàn)配置備份自動化的方法有很多,本文主要介紹如何使用Linux腳本實現(xiàn)網(wǎng)絡(luò)設(shè)備配置的自動化備份。
服務(wù)器利用crontab計劃定期執(zhí)行Linux腳本登錄設(shè)備,通過tftp協(xié)議將配置上傳服務(wù)器指定目錄下,并操作記錄到日志文件中。
腳本自動判斷備份是否成功,若未成功,未備份成功的設(shè)備是哪些,并將這些信息記錄到文件中。
可以根據(jù)設(shè)備備份配置的命令進行分類,建立相應(yīng)的設(shè)備列表和備份配置的腳本,從而實現(xiàn)批量備份設(shè)備配置。
可以根據(jù)需求設(shè)置定期自動化備份配置。
圖1 調(diào)用示意圖
1.服務(wù)器1臺:安裝帶有crond、tcl、expect、tftp 服務(wù)軟件的Linux系統(tǒng),且將tftp的根目錄設(shè)置為備份配置腳本中放置配置文件的目錄。
2.獲取網(wǎng)絡(luò)設(shè)備tftp命令用法和配置文件名稱,根據(jù)命令的種類進行分類。
3.服務(wù)器和網(wǎng)絡(luò)設(shè)備可以相互通信。
假設(shè)備份配置腳本所在目錄為“/home/config_backup ”,該 目錄下的文件或目錄如下:
device_config:配置備份目錄,根據(jù)備份時間分別放置備份的配置文件。
log:日志目錄,放置腳本執(zhí)行時的日志。
script :expect腳本目錄,放置登錄不同類型設(shè)備的腳本。
conf:腳本配置文件目錄,包含devices目錄和backup_server.txt。
config_backup.sh:配置備份shell腳本。
config_backup.crontab:定期執(zhí)行的配置備份shell腳本。
箭頭方向代表調(diào)用與引用的關(guān)系,方向的尾部為被引用或調(diào)用的文件,如圖1所示。
(注:斜體部分文字需要根據(jù)實際情況進行更改)
用戶可以根據(jù)自己的分類在對應(yīng)目錄中建立list_of_deviceN文 件 和ist_of_deviceN.exp文件。
以下是以銳捷交換機為例,建立的list_of_device1文件和ist_of_device1.exp文件
# 以銳捷交換機為例,telnet登錄,有telnet密碼和enable密碼。
# 自動備份命令會因不同登錄方式、不同廠家、不同型號而不同,請根據(jù)實際環(huán)境更改。
crontab設(shè)置:(假設(shè)每個月的10日14:30進行配置備份)
用戶可以在服務(wù)器上搭建SFTP、FTP、SAMBA等文件共享服務(wù),用于獲取配置文件,查看日志文件。
本文介紹的方法是利用crontab、bash腳 本、expect腳本共同實現(xiàn),旨在搭建一個框架,由用戶根據(jù)實際情況建立自己配置文件,即可完成自動化備份,可大大減少配置備份的時間。此外,通過改變expect腳本中的命令,腳本框架不僅可以實現(xiàn)配置自動化備份,還可以實現(xiàn)批量化修改設(shè)備配置等功能。