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