身為網管,管理大量交換器/路由器時,最頭痛的是:配置常改、忘存、斷電重啟後配置遺失、恢復耗時。若能讓設備每天自動存檔並上傳至備份伺服器,將大幅降低風險。本文提供兩種方案:原廠指令自動化(以華為為例)與通用 Linux Expect 腳本方案。
新版華為交換器支援排程備份至 FTP 伺服器:
[switch] set save-configuration backup-to-server server 192.168.1.1 transport-type ftp user admin password admin123 path /configbck
[switch] set save-configuration delay 5 // 5 分鐘後執行
[switch] set save-configuration interval 43200 // 每 12 小時循環
[switch] dis saved-configuration time // 查看備份紀錄
但舊版韌體或非華為設備可能不支援,升級韌體又需停機且有風險。
原理:Linux 伺服器透過 Telnet 登入設備 → 執行 save → FTP 上傳配置檔。只要有權限下指令,即可自動化。
tel104.exp)#!/usr/bin/expect
set date [exec date "+%Y%m%d"]
spawn telnet 192.168.1.104
expect "Username:"
send "admin\r"
expect "Password:"
send "Admin@huawei\r"
send "save\r"
send "Y\r" ;# 確認儲存
send "ftp 192.168.1.1\r" ;# 連線 FTP 伺服器
send "admin\r" ;# FTP 用戶
send "Admin@huawei\r" ;# FTP 密碼
send "put flash:/vrpcfg.zip /configbck/$date.zip\r"
interact
expect 與 telnet(yum install expect telnet)send 指令字串(如 Cisco 用 write memory)crontab -e
# 每天凌晨 1 點起,每 15 分鐘備份一台設備
00 01 * * * /home/expect/tel104.exp
15 01 * * * /home/expect/tel105.exp
30 01 * * * /home/expect/tel106.exp
45 01 * * * /home/expect/tel107.exp
55 01 * * * /home/expect/tel108.exp
此法不受設備韌體版本限制,只要能 Telnet 進去、有權限下指令,即可實現每日自動化備份,是網管工具箱必備利器。