Re: Expect log_file Issue
- From: monkeytime <monkeytime@xxxxxxxxx>
- Date: Wed, 31 Oct 2007 11:04:31 -0700
On Oct 31, 1:03 pm, Glenn Jackman <gle...@xxxxxx> wrote:
At 2007-10-31 11:28AM, "monkeytime" wrote:
Hi,
I've designed an Expect script to login to a device and turn on it's
syslog functionality. The syslog only sends to STDOUT, so a log_file
captures all of the output.
Once the syslog data starts streaming to STDOUT, I just want the
log_file to keep capturing data until I terminate the Expect script
manually. The issue that comes up is that after issuing the syslog
"on" command, the Expect script terminates and the log_file only
contains the output up to the last Expect command that was issued.
Is there a way I can leave the Expect script "open-ended" or still
running so that STDOUT data still goes to the logfile? I've tried a
"while" loop, timeout settings, sleep settings and leaveopen settings
and nothing worked. I've added a command at the end of the script to
expect bogus data (eg. jsdf98weeufh983r) that I know would never
appear, but that only logs about 10 lines of syslog data and then
terminates.
You'll have to show us what you've got so far.
--
Glenn Jackman
"You can only be young once. But you can always be immature." -- Dave Barry
Thanks for the quick reply, Glenn. Here's the code:
#!/usr/local/bin/expect --
# Set the date.
set date [timestamp -format %C%y%m%d]
# Set the command line arguments.
set ip [lindex $argv 0]
# Create the log file directory.
system `/bin/mkdir /home/vconf/logs/$date`
# Set the log file.
spawn $env(SHELL)
log_file -noappend /home/vconf/logs/$date/$ip-$date.log
# Set host variables.
set pcommand "xxxxxxxx"
# Telnet to the host.
spawn /usr/bin/telnet $ip
# Login to the device.
expect "Password:"
send "$pcommand\r"
# Send the "syslog on" command.
expect "OK"
send "syslog on\r"
On a real telnet session, the "syslog on" command will begin to send
data to STDOUT and one can watch the data fly by. The Expect script,
however, will terminate and return back to the prompt after the
"syslog on" command. What could I append to the script to keep STDOUT
data flowing to the log_file?
Thanks,
Paul
.
- References:
- Expect log_file Issue
- From: monkeytime
- Re: Expect log_file Issue
- From: Glenn Jackman
- Expect log_file Issue
- Prev by Date: Re: Restart an application
- Next by Date: Re: Keeping Text Bold in TreeCtrl When Doing a Mouseover
- Previous by thread: Re: Expect log_file Issue
- Next by thread: freewrap helper
- Index(es):
Relevant Pages
|