자동 프로세스를 통해 컨트롤러 구성 파일을 백업하는 방법을 찾고 있습니다. 원격 호스트에 구성의 일회성 tftp 사본을 수행하는 것처럼 보이는 웹 인터페이스에 대한 링크를 보았지만 사본을 예약하는 방법을 찾고 있습니다.
누구나 Cisco WLC의 구성 백업을 자동화하는 방법을 알고 있습니까?
자동 프로세스를 통해 컨트롤러 구성 파일을 백업하는 방법을 찾고 있습니다. 원격 호스트에 구성의 일회성 tftp 사본을 수행하는 것처럼 보이는 웹 인터페이스에 대한 링크를 보았지만 사본을 예약하는 방법을 찾고 있습니다.
누구나 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 를 해킹 하여 장치를 사용할 수 있습니다. 그런 다음 버전 제어 시스템으로 설정하고 시간이 지남에 따라 diffs가있는 멋진 웹 GUI를 가질 수 있습니다.
기기가 많지 않은 경우 매일 [ clogin
Rancid]라는 스크립트에서 [ Rancid의 일부]로 충분합니다.crontab
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 enter를 눌러 계속하십시오."