Toon posts:

[redhat 8.0] expect script

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo mensen,

ik ben bezig met een script waarbij een telnet sessie moet worden gestart. dat moet pas gebeuren als er een snmptrap met een bepaald ip erin langskomt. klink logisch, het werkt ook wel. maar als in het script de snmptrap deamon wordt gestart blijft die 5 seconden draaien en dan gaat het script zomaar verder. ik weet dat de deamon wel opkomt omdat als ik een trap stuur het script wel reageert.

mijn vraag; hoe kan ik die deamon tot in het oneindige laten wachten totdat de magische snmptrap langskomt en dat het script dan pas verder gaat.

#!/usr/bin/expect -f

spawn snmptrapd -P
expect "*172.56.99.24*"

# telnet login

spawn telnet "ip adres"
expect "Username:"
send "nwb\r"
......
.........
.... enz.


alvast bedankt,

Martijn 8)

  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 07-05 14:42

odysseus

Debian GNU/Linux Sid

Een slechte oplossing ($ob = outputbuffer, waarin de uitvoer van snmptrap terecht komt):
code:
1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/perl
sub test_output
{
    if ($ob =~ /.*172\.56\.99\.24.*/m)
    {
        ga_verder();
    }
    else
    {
        sleep 1 && test_output();
    }
}

Het is een beroerde oplossing, maar op deze manier moet je het in ieder geval aan het werk kunnen krijgen :).

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


Verwijderd

Kan je daar niet gewoon initd voor gebruiken ?

  • Wilke
  • Registratie: December 2000
  • Laatst online: 14:34
[x]inetd bedoel je, denk ik?

  • bkor
  • Registratie: November 2000
  • Niet online
Volgens mij gaat de tijd in jouw wereld nogal snel. Die 5 seconden zijn er vast 10 seconden in de werkelijkheid. En dat komt precies overeen met de timeout van het expect commando. ;)

Verander of de timeout voor alle expect commando's dmv set timeout 1234 (niet aan te raden), of verander je 1e expect regel naar (die * zijn overbodig):
code:
1
expect -timeout -1 "172.56.99.24"

Verwijderd

Topicstarter
Het werkt!!!

moge de :+ heere :+ u beschermen ;)

nu is mijn stage opdracht af :*)

groetjes van Martijn
Pagina: 1