11: Scripts
EMG™ Edge Management Gateway User Guide
226
Expect Custom Script - EMG Device Port Session
An example of an Expect Custom Script that interacts with a EMG Device Port (in this example a
Cisco server is connected to a Device Port):
#! expect
#
# Save a copy of the running config of a Cisco server to a TFTP server
# The Cisco server is connected to an EMG device port
#
proc myprint {str} {
send_user -- "$str\n"
}
proc abortSession {err} {
send_user "Error $err. Terminating session.\n"
exit $err
}
if {$argc < 2} {
myprint "Usage: script_md_cisco.exp <TFTP Server> <Backup File Name>"
abortSession 1
}
set tftp [lindex $argv 0]
set configFile [lindex $argv 1]
set enablePassword "secret"
set timeout 10
set now [clock seconds]
set date [clock format $now -format {%D %R}]
myprint "Backing up Cisco Server to $tftp:$configFile at $date"
# spawn the port session on a device port
if {[catch {spawn -noecho portsession -p $devicePort} result]} {
abortSession 2
}
set sessionId $spawn_id
# Handle eof
expect_after {
-i $sessionId eof {
myprint "Session unexpectedly terminated."
abortSession 3
}
}
log_user 0
# Send carriage return, see if we are connected
set loggedIn false