當我們管理的網路裝置為個位數的時候,手動的把配置通過tftp方式copy出來還是可以的。但是當我們管理幾十台甚至上百臺(有點誇張,都這個級別了肯定用專業的運維軟體或者開發運維平台進行管理)的時候手工備份配置就顯得捉襟見肘了,在裝置就十幾二十臺這種尷尬的數字的時候,cisco裝置自帶的任務命令就顯得很好了,下面將介紹這個命令的用法
①裝置時間的同步(定時備份那麼裝置的時間就必須要準確,一般內網都有ntp伺服器,直接用ntp同步即可)
②tftp伺服器(為啥是tftp不是ftp?因為cisco的定時任務命令不支援互動操作)
③寫乙個bat命令(如果tftp在linux就寫乙個shell指令碼)move備份的配置(為啥?因為裝置傳遞的是show run的結果然後redirect出來的,檔名是在裝置上面寫死的,如果不每天定時轉移上傳的配置,那麼下次裝置再上傳配置的時候就會覆蓋上一次的配置)
④低版本的ios可能不支援
①配置ntp
poe-2(config)#clock timezone cn 8poe-2(config)#ntp server 172.28.28.1poe-2(config)#ntp source vlan 255poe-2#sh clock②配置好tftp服務端10:25:38.348 cn thu may 10 2018
這裡就用cisco的tftp了(反正都是自家的東西)
③配置定時任務
poe-2(config)#kron policy-list bak //定義一kron策略列表這裡是測試 所以很快就可以看到自動備份的效果poe-2(config-kron-policy)#cli show run | redirect tftp://
172.28.27.227/poe-2.cfg //從cli後面開始都是命令,但是這個命令必須是無互動的,比如不用輸yes等確認資訊
poe-2(config-kron-policy)#exit //一定要exit退出才會提交
poe-2(config)#kron occurrence bak at 10:40recurring //新增排程,時間後面如果不加天數就表示每天這個時間都備份 recurring表示重複的意思
poe-2(config-kron-occurrence)#policy-list bak //排程任務
poe-2(config-kron-occurrence)#exit
poe-2#sh kron schedule //檢視排程情況
kron occurrence schedule
bak inactive, will run again
in 0 days 00:08:11 at 10:40on
poe-2#sh run | in
kron
kron occurrence bak at 10:40recurring
kron policy-list bak
④建立bat或者shell
需要將配置檔案轉移到其他地方並且以時間命名才能達到我們增量備份的效果,不做此步驟每次的新備份都會覆蓋原有的備份(除非把名字改掉)
這裡是windows系統就以bat為例:
@set下面可以複製到bat上面執行的(注意把路徑改下)"ymd=%date:~,4%%date:~5,2%%date:~8,2%"
//建立乙個變數,並通過%date:~5,2%來組合得出當前日期,組合的效果為yyyymmdd,date命令得到的日期格式預設為yyyy-mm-dd(如果不是此格式可以通過pause命令來暫停命令列視窗看通過%date:~,20%得到的當前計算機日期格式),所以通過%date:~5,2%即可得到日期中的第五個字元開始的兩個字元,例如今天為2009-02-05,通過%date:~5,2%則可以得到02。(日期的字串的下標是從0開始的)
@md d:\網路配置備份\%ymd%//第二句為用md命令 建立以變數ymd為名的資料夾
@move
/y e:\tftpdir\*.* d:\網路配置備份\%ymd%
//第三句為複製指定的檔案到指定的資料夾。注意原始檔的路徑不能太長否則就無法識別,最好也不要只中文路徑,不然出錯都不知道原因
@set⑤建立windows任務計畫"ymd=%date:~,4%%date:~5,2%%date:~8,2%"
@md d:\網路配置備份\%ymd%@move
/y e:\tftpdir\*.* d:\網路配置備份\%ymd%
這裡的建立需要注意要晚於cisco裝置備份配置的時間,道理很簡單,配置沒生成就提前mv了是沒意義的
這裡就不演示了
注:上述的操作同樣也只是半自動,因為在交換機上面要配置的內容也不少,如果要更高階的玩法可以看看 kiwi cattools工具(收費的)或者expect指令碼(linux下的)
[root@grafana-sz ~]#yum install xinetd tftp-server tftp -y
[root@grafana-sz ~]# mkdir /tmp/network[root@grafana-sz ~]# vim /etc/xinetd.d/tftp
將 disable = yes 改為 disable =no
設定tftp根目錄:
server_args = -s /tmp/network -c //引數-s指定chroot,-c指定了可以建立檔案。
[root@grafana-sz ~]# systemctl start xinetd.service
[root@grafana-sz ~]# systemctl start tftp.service
[root@grafana-sz ~]# systemctl start tftp.socket
[root@grafana-sz ~]# systemctl enable tftp.socket
[root@grafana-sz ~]# systemctl enable tftp.service
[root@grafana-sz ~]# systemctl enable xinetd.service
[root@grafana-sz ~]# vim mkdir.sh#!/bin/bash
##dirdate=`date +%y%m%d`_`date +%h%m%s`
mkdir -p /networkconfig/$dirdate
mv /tmp/network/* /networkconfig/$dirdate
[root@grafana-sz ~]#crontab -e30 23 * * * /root/mkdir.sh //每晚23:30執行指令碼
cisco裝置自動備份指令碼
linux下互動式登入工具 expect 需要自己安裝 yum install expect 安裝完成即可,expect功能非常強大 指令碼 如下 iplist.dat為裝置ip檔案 serverlist.dat為tftp備份伺服器ip檔案 這樣新增裝置或者更改tftp伺服器ip的話只需要修改這2個...
網路 cisco 網路裝置配置備份
以某型號思科路由器配置為例 拓撲圖 需求 將改cisco路由器配置檔案通過tftp方式備份至pc本地 該方式同樣適用交換機裝置 pc端配置 pc端安裝tftp軟體 路由器配置 1 r1 enable 2r1 configure terminal 3 r1 config inte ce fasteth...
mysql定時自動備份
假想環境 mysql 安裝位置 c mysql 論壇資料庫名稱為 bbs mysql root 密碼 123456 資料庫備份目的地 d db backup 程式 echo off c mysql bin mysqladmin u root password 123456 shutdown c my...