उम्मीद है कि नौकरी के लिए एक अच्छा उम्मीदवार हो सकता है।
नीचे एक उदाहरण टेम्पलेट है जिसे मैंने एक साथ रखा है जो आपके साथ खेलने के लिए टिप्पणी की गई है। यह एक डब्ल्यूएलसी में प्रवेश करेगा, चल रहे कॉन्फ़िगरेशन को पकड़ो और इसे अपनी पसंद की फ़ाइल में जोड़ देगा।
उदाहरण फ़ाइल का नाम और स्थान है /var/log/script-log/config-log.txt
आपको फ़ाइल नाम और स्थान को अपनी पसंद की फ़ाइल (पर्याप्त अनुमतियों के साथ) और साथ ही अपने WLC के उपयोगकर्ता नाम, पासवर्ड और आईपी पते को संशोधित करना होगा।
अंत में आप एक वांछित अंतराल का उपयोग करके बैकअप स्क्रिप्ट को निष्पादित करने के लिए अपने कॉन्टैब को संपादित कर सकते हैं।
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