11: Scripts
EMG™ Edge Management Gateway User Guide
227
set execMode false
set passwordPrompt false
set cnt 1
while {! $loggedIn || ! $execMode} {
if {$cnt == 5} {
myprint "Timeout waiting for > or # prompt"
abortSession 4
}
if {! $passwordPrompt} {
send "\r"
}
expect {
"*assword: " { send "$enablePassword\r" }
">" { set loggedIn true; set passwordPrompt true; send "enable\r"
}
"#" { set loggedIn true; set execMode true }
"Error:*\r\n" { send_user $expect_out(0,string); abortSession 5 }
timeout {set cnt [expr {$cnt + 1}] }
}
}
myprint "Logged in."
send "copy running-config tftp://$tftp/$configFile\r"
expect "$tftp"
send "\r"
expect "$configFile"
send "\r"
myprint "Backup initiated."
expect {
"!!" { myprint "Successfully backed up." }
timeout { myprint "Timeout waiting for backup to complete.";
abortSession 6 }
}
send "exit\r"
sleep .5
close
exit 0
Python Custom Script - EMG CLI Session
An example of a Python Custom Script that interacts with a CLI session:
#! python
# Script to set the RADIUS authentication settings of the EMG
# Sets the first RADIUS server and secret, and enables RADIUS
# Note: passing secret as a command line parameter is a security
vulnerability
# Usage:
# script_cli_radius.py <RADIUS server> <RADIUS secret>
#