WLC 2504 컨트롤러에서 구성을 자동으로 백업하는 방법이 있습니까?


11

자동 프로세스를 통해 컨트롤러 구성 파일을 백업하는 방법을 찾고 있습니다. 원격 호스트에 구성의 일회성 tftp 사본을 수행하는 것처럼 보이는 웹 인터페이스에 대한 링크를 보았지만 사본을 예약하는 방법을 찾고 있습니다.

누구나 Cisco WLC의 구성 백업을 자동화하는 방법을 알고 있습니까?


당신이 볼 수 있나요 이 질문을 ? 직접 appicable하지만, 아마도 도움이되지 ...
크레이그 콘스탄틴

1
@CraigConstantine에게 감사하지만 WLC는 "term len 0"과 같은 일반적인 IOS-ism을 따르지 않는 사용자 지정 소프트웨어를 실행합니다. 순수한 구성 덤프를 허용하는 어딘가 분명한 명령이있을 수 있지만 아직 찾지 못했습니다. 그것.
피터 그레이스

1
... 이 시스코 지원 스레드는 어떻습니까?
Craig Constantine

2
이상적으로 Cisco Prime Infrastructure가 사용되지만 OP가 비용없는 옵션을 찾고 있다고 생각합니다.
generalnetworkerror

답변:


8

스크립트를 사용하여 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에서 실행되었습니다.


sftp는 특정 컨트롤러 / rev에만 유효합니까? tftp 또는 ftp 만 선택할 수 있습니다.
피터 그레이스

이 방법은 tftp에서 작동하며 expect와 같은 방법으로 자동화 할 수 있습니다. 이것은 내 문제를 해결합니다!
피터 그레이스

SFTP는 7.4에서 소개 : 릴리스 노트
some_guy_long_gone

5

예상 작업에 고려해야 할 좋은 후보가 될 수 있습니다.

아래는 내가 함께 사용하기 위해 주석 처리 한 예제 템플릿입니다. 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

나는 expect를 사용하기를 바랐지만 runio-config의 출력은 legioxi의 답변에 언급 된 것처럼 "전송 업로드"의 기본 구성을 능가 할 수 없습니다. 내가 마무리 한 것은 expect 스크립트를 사용하여 정기적으로 전송 업로드 시작 명령을 트리거하는 것이 었습니다.
피터 그레이스

4

나는 이것이 오래된 게시물이라는 것을 알고 있지만 컨트롤러에서 백업을 자동화하는 가장 좋은 방법은 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

설정에 맞게 <> 안의 항목을 교체하십시오. 어딘가에 누군가 도움이 될 수 있기를 바랍니다.


좋은 발견. SNMP 쓰기 기능은 항상 과소 평가됩니다!
RedShift

4

보유하고있는 장치 수에 따라 Rancid 를 해킹 하여 장치를 사용할 수 있습니다. 그런 다음 버전 제어 시스템으로 설정하고 시간이 지남에 따라 diffs가있는 멋진 웹 GUI를 가질 수 있습니다.

기기가 많지 않은 경우 매일 [ cloginRancid]라는 스크립트에서 [ 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 루프입니다.


2
"show run"은 WLC에서 유효한 명령이 아니며 show running-config이며 심지어 페이지별로 중지하고 프롬프트합니다. "term len 0"을 허용하지 않습니다. 만약 이것이 일반적인 IOS라면, 다른 모든 시스코 장치를 백업하는 데 사용하는 것과 동일한 스크립트를 사용합니다. : :
Peter Grace

3
config paging disabledIOS "term len 0"과 같습니다. show run-config일단 굴러 가면 중단하려고합니다 . 여전히 초기 "Enter enter를 눌러 계속하십시오."
generalnetworkerror

@generalnetworkerror, FYI config paging disabled는 우리가 가진 WLC4404에 telnet과 ssh 세션을 잠급니다
Mike Pennington

1
@MikePennington : SSH 세션에서 WLC 5508 v7.5.102.0의 잠금없이 페이징 비활성화 테스트.
generalnetworkerror
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.