Sponsored Content
Full Discussion: Expect scripting
Top Forums Shell Programming and Scripting Expect scripting Post 302557369 by yano1o14 on Wednesday 21st of September 2011 03:59:34 AM
Old 09-21-2011
Expect scripting

Hi I have a working expect script below. The script continues to log cisco router configurations until all the ip addresses in the "routerlist1" has been read. Problem will start to happen when one of the ip address is not reacheable via ssh or telnet. The script will stop to read the rest of the ip addresses in the "routerlist1". Is there a command to make this script continue even one of the ip is not reacheable?

Thanks....

Code:
#!/usr/bin/expect -f
set logpath "/var/log/Router-conf"
set routerlistname "/var/log/Router-conf/routerlist1"
set datestring [exec date +%Y%m%d]
set password "mypassword"
set ciscohost "dummy_data"
set datestring [exec date +%d%m%Y]
set timestring [exec date +%H%M%S]
set timeout 3

  if {!([file exists $logpath/cisco.$datestring])} then {
set MakeDir [exec mkdir $logpath/cisco.$datestring]}
set hostlist [open $routerlistname r]
while {[gets $hostlist ciscohost] > 0} {
###################################################
spawn ssh cisco@$ciscohost
expect { 
"Connection refused"
{ 
spawn telnet $ciscohost
} }
expect {
"User Access Verification"
{ send "cisco\r"
} }
###################################################
expect {
"RSA key fingerprint"
{ send "yes\r"
} }

  expect {
"assword:"
{ send "$password\r"
} }

  expect { 
">"
{ send "enable\r" 
} }
expect { 
"assword:"
{ send "$password\r" 
} } 
expect { 
"#" 
{ send "terminal length 0\r"
} }
set logfile "$logpath/cisco.$datestring/$ciscohost.$datestring.$timestring.conf"
log_file -noappend $logfile

  expect { 
"#" 
{ send "show run\r" 
} }
expect { 
"ntp server"
{ send "exit\r" } }
log_file
}
close $hostlist


Moderator's Comments:
Mod Comment Please use code tags!

Last edited by radoulov; 09-21-2011 at 05:10 AM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Help required on expect scripting

I am trying to write an expect script for remote server login. At some point of time I need to telnet based on the output of grep command. Based on the output I need to select the ip address of the server. How can I write an expect script for the same. The output of the grep command is as follows:... (1 Reply)
Discussion started by: ayyappakumar
1 Replies

2. Shell Programming and Scripting

expect scripting need help

Hi experts, I am trying to develop a script using Expect. I am stuck somewhere. I need ur help guys. I have sun solaris where i need to input the following commands- bash-2.05$ telnet 11.13.58.39 2310 Trying 0.0.0.0... Connected to .. Escape character is '^]'. CONNECTING TO... ... (3 Replies)
Discussion started by: thepurple
3 Replies

3. Shell Programming and Scripting

strange expect script behavior, or am i misunderstanding expect scripting?

Hello to all...this is my first post (so please go easy). :) I feel pretty solid at expect scripting, but I'm running into an issue that I'm not able to wrap my head around. I wrote a script that is a little advanced for logging into a remote Linux machine and changing text in a file using sed.... (2 Replies)
Discussion started by: v1k0d3n
2 Replies

4. Shell Programming and Scripting

Help needed in expect scripting.

Hi, I am new to expect scripting and need your help in the following task. I want an expect script to take the commands from an input file and then execute the commands and give the command execution output in an otput file. The command execution part is normal and I did it via script by... (2 Replies)
Discussion started by: Sooryaa
2 Replies

5. Shell Programming and Scripting

Expect passwd scripting

I am trying to write an expect script which will read information from a file that contains username and password, and change the password for each user accordingly. The list contains around 100 users. I am new to both Solaris and expect. I have successfully been able to set the first user's... (9 Replies)
Discussion started by: DoctorOctagon
9 Replies

6. Shell Programming and Scripting

Expect Scripting Help

Hi All, I am trying to connect a router using Expect scripting. But my script shows error.One more thing after the command telnet localhost 2000 we should press ENTER KEY once before the command prompt asks for "enable" and password.Please help correctiong my script. #!/usr/bin/expect -- ... (2 Replies)
Discussion started by: Harikrishna
2 Replies

7. Shell Programming and Scripting

Expect Scripting Help

Hi All, I am suppose to capature the value command `show ip route` of a router in a Expect script. But i am not able to catch the value in a variable or a file in the following Expect script. #!/usr/bin/expect -f set input spawn telnet localhost $argv expect "Escape character is '^]'."... (5 Replies)
Discussion started by: Harikrishna
5 Replies

8. Shell Programming and Scripting

Expect scripting

Hello, I tried to use expect to catch information from my nagios and send me a call but i have nothing when i execute the script : 0 - add : account SIP 1 - trext : information from nagios text2wav : conversion text to wav ( text to speech ) pjsua : connection thru the SIP ... (0 Replies)
Discussion started by: acidozik
0 Replies

9. Shell Programming and Scripting

Expect scripting.

I was wondering if I could do this a bit better. another script calls this script and logs into a device, does the relavant "show commands" and then saves those to a file. My problem is that the buffer isn't large enough to the output of some of the commands. here is an excerpt of what i'm... (0 Replies)
Discussion started by: gen1mx6
0 Replies

10. IP Networking

IP and expect scripting

Hi I am new to IP configuration and using expect script I have a requirement like I need to write a expect script that can ssh to a remote machine(linux1) using password which already has IP, once logged inside machine need to reboot remote machine(linux1) and again login to same remote... (1 Reply)
Discussion started by: Priya Amaresh
1 Replies
BB-SERVICES(5)							File Formats Manual						    BB-SERVICES(5)

NAME
bb-services - Configuration of TCP network services SYNOPSIS
$BBHOME/etc/bb-services DESCRIPTION
bb-services contains definitions of how bbtest-net(1) should test a TCP-based network service (i.e. all common network services except HTTP and DNS). For each service, a simple dialogue can be defined to check that the service is functioning normally, and optional flags deter- mine if the service has e.g. a banner or requires SSL- or telnet-style handshaking to be tested. FILE FORMAT
bb-services is a text file. A simple service definition for the SMTP service would be this: [smtp] send "mail quit " expect "220" options banner This defines a service called "smtp". When the connection is first established, bbtest-net will send the string "mail quit " to the service. It will then expect a response beginning with "220". Any data returned by the service (a so-called "banner") will be recorded and included in the status message. The full set of commands available for the bb-services file are: [NAME] Define the name of the TCP service, which will also be the column-name in the resulting display on the test status. If multiple tests share a common definition (e.g. ssh, ssh1 and ssh2 are tested identically), you may list these in a single "[ssh|ssh1|ssh2]" definition, separating each service-name with a pipe-sign. send STRING expect STRING Defines the strings to send to the service after a connection is established, and the response that is expected. Either of these may be omitted, in which case bbtest-net(1) will simply not send any data, or match a response against anything. The send- and expect-strings use standard escaping for non-printable characters. " " represents a carriage-return (ASCII 13), " " represents a line-feed (ASCII 10), " " represents a TAB (ASCII 8). Binary data is input as "xNN" with NN being the hexadecimal value of the byte. port NUMBER Define the default TCP port-number for this service. If no portnumber is defined, bbtest-net(1) will attempt to lookup the portnum- ber in the standard /etc/services file. options option1[,option2][,option3] Defines test options. The possible options are banner - include received data in the status message ssl - service uses SSL so perform an SSL handshake telnet - service is telnet, so exchange telnet options FILES
$BBHOME/etc/bb-services SEE ALSO
bbtest-net(1) Xymon Version 4.2.3: 4 Feb 2009 BB-SERVICES(5)
All times are GMT -4. The time now is 06:26 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy