koodi on lyhykäisyydessään tälläinen :
#------------------------------------------
#!/usr/bin/perl -w
#
#
#
#
#
use Net::Telnet;
$telnet = new Net::Telnet ( timeout => 20, Errmode => 'die');
$telnet -> open('123.123.123.123');
$telnet -> waitfor ('/Password:/');
$telnet -> print ('salasana');
$telnet -> waitfor ('/>/');
$telnet -> print ('en');
$telnet -> waitfor ('/Password:/');
$telnet -> print ('salasana');
$telnet -> waitfor ('/#/');
$telnet -> print ('show running-config');
$telnet -> waitfor ('/configuration.../');
@output = $telnet -> waitfor ('/More/');
$telnet -> close ('321.321.321.321');
foreach $array(@output){
print $array;
}
print "\n";
#----------------------------------------------
koitan saada Cisco purkista conffin talteen, mutta ongelma tuottaa telnet:n rivien määrä.
Cisco ilmoittaa 25 rivin jälkeen että pitää painaa enteriä jotta näytetään seuraava rivi, ja tämän jälkeen pitää enteriä painaa jokaisen rivin kohdalla.
mitenkä saan joko kasvatettua tuota tulostettavien rivien määrää, tai sitten automaattisesti tulemaan koko conffin.
conffi loppuu end-sanaan eli siihen olisi hyvä @outputin loppua.
#------------------------------------------
#!/usr/bin/perl -w
#
#
#
#
#
use Net::Telnet;
$telnet = new Net::Telnet ( timeout => 20, Errmode => 'die');
$telnet -> open('123.123.123.123');
$telnet -> waitfor ('/Password:/');
$telnet -> print ('salasana');
$telnet -> waitfor ('/>/');
$telnet -> print ('en');
$telnet -> waitfor ('/Password:/');
$telnet -> print ('salasana');
$telnet -> waitfor ('/#/');
$telnet -> print ('show running-config');
$telnet -> waitfor ('/configuration.../');
@output = $telnet -> waitfor ('/More/');
$telnet -> close ('321.321.321.321');
foreach $array(@output){
print $array;
}
print "\n";
#----------------------------------------------
koitan saada Cisco purkista conffin talteen, mutta ongelma tuottaa telnet:n rivien määrä.
Cisco ilmoittaa 25 rivin jälkeen että pitää painaa enteriä jotta näytetään seuraava rivi, ja tämän jälkeen pitää enteriä painaa jokaisen rivin kohdalla.
mitenkä saan joko kasvatettua tuota tulostettavien rivien määrää, tai sitten automaattisesti tulemaan koko conffin.
conffi loppuu end-sanaan eli siihen olisi hyvä @outputin loppua.
Vastaukset 2
Vanhimmat
Ei ole kokemusta tuosta modulista, mutta etkö voi vain kutsua funktiota waitfor('/More/') kunnes vastaan tulee se end ? Jokaisen loopin tuottamat rivit push()ataan sitten vain tuohon @outputiin.
Toinen vaihtoehto on katsoa, saako ko. laitteen terminaalin rivien määrää vaihdettua jollain komennolla tai asetuksella.
rivin määräksi kun laittoi 0:n niin ei kysele.
ei löytynyt käyttöohjeesta, mutta joku oli joskus törmännyt samaan ongelmaan.
Kiitoksia jälleen kerran.