自動プロセスを介してコントローラー構成ファイルをバックアップする方法を探しています。リモートホストへの設定の1回限りのtftpコピーを実行するように見えるWebインターフェイスへのリンクを見てきましたが、コピーをスケジュールする方法を探しています。
Cisco WLCの構成バックアップを自動化する方法を知っている人はいますか?
自動プロセスを介してコントローラー構成ファイルをバックアップする方法を探しています。リモートホストへの設定の1回限りのtftpコピーを実行するように見えるWebインターフェイスへのリンクを見てきましたが、コピーをスケジュールする方法を探しています。
Cisco WLCの構成バックアップを自動化する方法を知っている人はいますか?
回答:
スクリプトを使用してWLCにログインし、転送コマンドを実行します。http: //www.cisco.com/en/US/docs/wireless/controller/6.0/command/reference/cli60.html#wp1327209
これを使用して、TFTP / SFTP / FTP経由でWLCから別のサーバーに構成をアップロードできます。
(Cisco Controller) >transfer upload mode sftp
(Cisco Controller) >transfer upload username my-osx-user
(Cisco Controller) >transfer upload password my-os-password
(Cisco Controller) >transfer upload serverip 192.168.1.10
(Cisco Controller) >transfer upload path /Users/my-osx-user/
(Cisco Controller) >transfer upload filename wlc.config
(Cisco Controller) >transfer upload datatype config
(Cisco Controller) >transfer upload start
Mode............................................. SFTP
SFTP Server IP................................... 192.168.1.10
SFTP Server Port................................. 22
SFTP Path........................................ /Users/my-osx-user/
SFTP Filename.................................... wlc.config
SFTP Username.................................... my-osx-user
SFTP Password.................................... *********
Data Type........................................ Config File
Encryption....................................... Disabled
**************************************************
*** WARNING: Config File Encryption Disabled ***
**************************************************
Are you sure you want to start? (y/N) y
SFTP Config transfer starting.
File transfer operation completed successfully.
(Cisco Controller) >
リンクはWLC 6.0を指していますが、この例は7.4で実行されました。
期待は仕事のために検討するのに良い候補かもしれません。
以下は、私がまとめたテンプレートの例です。このテンプレートは、コメントアウトして遊んでいただけます。WLCにログインし、実行コンフィギュレーションを取得して、選択したファイルに追加します。
ファイル名と場所の例は /var/log/script-log/config-log.txt
WLCのユーザー名、パスワード、IPアドレスだけでなく、ファイル名と場所を(適切なアクセス許可を使用して)選択したファイルに変更する必要があります。
最後に、crontabを編集して、目的の間隔でバックアップスクリプトを実行できます。
Crontabの例:
# Run configuration backup every night at midnight
0 0 * * * /path/to/script/script-name
構成バックアップスクリプトの例:
#!/usr/bin/expect
set timeout 15
set user "username-here"
set password "password-here"
set ipaddress1 "ip-address-here"
# Store the current date in 'date' and add header to log for appending separation
catch { exec sh -c { date } } date
set env(date) "$date"
exec sh -c {
{
echo -e "\n\n==================================================="
echo -e "= WLC Configuration - $date"
echo -e "===================================================\n\n"
} >>/var/log/script-log/config-log.txt
}
# Log to the log.txt file and append to the log on subsequent runs (a)
set log [open "/var/log/script-log/config-log.txt" a]
set accum {}
# Expect diagnostic information with 1 | off = 0
exp_internal 0
# View stdout with 1 | off = 0
log_user 0
# Connect to physical WLC (ipaddr) with ssh
spawn ssh $ipaddress1
match_max 100000
sleep 1
match_max [expr 32 * 1024]
while 1 {
expect {
"no)?" {send "yes\r"}
"n as:*" {send "$user\r"}
"ser:*" {send "$user\r"}
"assword:*" {send "$password\r"}
"r) >" {break}
"denied" {send_user "Can't login\r"; exit 1}
"refused" {send_user "Connection refused\r"; exit 2}
"failed" {send_user "Host exists. Check ssh_hosts file\r"; exit 3}
timeout {send_user "Timeout problem\r"; exit 4}
}
}
# send carriage return (\r) to make sure we get back to CLI prompt
send "\r"
sleep 1
# Remove scroll limit and show running configuration
send "config paging disable\r"
sleep 1
send "show run-config\r"
sleep 1
expect {
"nue..." {send "\r"}
}
sleep 1
send "logout\r"
sleep 1
# Upon logging out you can either save any pending changes with y or simply use n to ignore them
send "y\r"
sleep 4
# Grab string that matched the greedy regexp
expect {
-regexp {..*} {
set accum "${accum}$expect_out(0,string)"
exp_continue
}
}
puts $log $accum
私はこれが古い投稿であることを知っていますが、コントローラーからのバックアップを自動化する最善の方法は、cronから実行されるスクリプトでSNMPを使用することでした。
snmpset -v2c -c <snmp_RW> <WLC_IP> .1.3.6.1.4.1.14179.1.2.9.1.1.0 i 1
snmpset -v2c -c <snmp_RW> <WLC_IP> .1.3.6.1.4.1.14179.1.2.9.1.2.0 a TFTP_Server_IP
snmpset -v2c -c <snmp_RW> <WLC_IP> .1.3.6.1.4.1.14179.1.2.9.1.3.0 s /<TFTP_Path>
snmpset -v2c -c <snmp_RW> <WLC_IP> .1.3.6.1.4.1.14179.1.2.9.1.4.0 s <File_name>
snmpset -v2c -c <snmp_RW> <WLC_IP> .1.3.6.1.4.1.14179.1.2.9.1.5.0 i 2
snmpset -v2c -c <snmp_RW> <WLC_IP> .1.3.6.1.4.1.14179.1.2.9.1.6.0 i 1
明らかに、<>内のアイテムをセットアップに合わせて置き換えてください。うまくいけば、どこかで誰かがこれが役立つと思うかもしれません。
お持ちのデバイスの数によっては、Rancidをハックして、Rancidで動作させることができます。次に、バージョン管理システムを使用してセットアップし、時間の経過とともに差分を表示する素晴らしいWeb GUIを作成できます。
デバイス数clogin
が少ない場合は、crontab
毎日から呼び出されるスクリプトで[ Rancidの一部]で十分です。アラ
for device in wlc1 wlc2 wlc3 (..) wlcN; do
clogin -c "show run; show clock" $device > ~/WLC-config-backups/$(date +%Y-%m-%d)-$device-backup.txt
done
これは、ほぼ無限に拡張できる基本的なbash
forループです。
config paging disabled
IOS "term len 0"と同等です。show run-config
それが転がり始めたら中止しようとする幸運。最初の「続行するにはEnterキーを押してください」がまだあります。