Portál AbcLinuxu, 7. května 2024 04:25


Dotaz: Hromadny skript v Perli

31.3.2013 15:38 Fabricio
Hromadny skript v Perli
Přečteno: 257×
Odpovědět | Admin
Caute potreboval by som pomoct s jednym skriptom v perli. Konkretne:

use Net::Telnet; $telnet = new Net::Telnet ( Timeout=>10, Errmode=>'die'); $telnet->open('192.168.1.1'); $telnet->waitfor('/password: $/i'); $telnet->print('heslo'); $telnet->print('tento prikaz vykonaj');

Mam v sieti viac aktivnych prvkov ktore riadim cez telnet. Potreboval by som ho ale niekedy pustit plosne napr na 100 IP adries z textoveho suboru. Otazka teda znie ako tento skript upravim tak aby nebral iba IP 192.168.1.1 ale aby bral IP s txt suboru a na vsetkych vykonal prikaz "tento prikaz vykonaj". Za odpovede vopred dakujem.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

31.3.2013 15:47 stanik89 | skóre: 4 | Ostrava
Rozbalit Rozbalit vše Re: Hromadny skript v Perli
Odpovědět | | Sbalit | Link | Blokovat | Admin
soubor bych v perlu načetl do pole a poté bych v cyklu který by pole procházel pouštěl dané příkazy :-)
31.3.2013 15:57 Fabricio
Rozbalit Rozbalit vše Re: Hromadny skript v Perli
Tak nejak si to aj ja predstavujem ale nemam vela skusenosti s programovanim. Pracujem vo firme ako sietar a toto by mi ulahcilo kazdodennu pracu. Mohol by si mi prosim napisat cely skript ako by mal vyzerat?
Řešení 1× (stanik89)
31.3.2013 16:28 stanik89 | skóre: 4 | Ostrava
Rozbalit Rozbalit vše Re: Hromadny skript v Perli
Mohlo by fungovat tohle, ale netestoval jsem to

#! /usr/bin/perl

use Net::Telnet;

open FILE, "/cesta k souboru/seznam.txt" or die;

$telnet = new Net::Telnet ( Timeout=>10, Errmode=>'die');

while (my $line = <FILE>) { chomp;

$telnet->open($line); $telnet->waitfor('/password: $/i'); $telnet->print('heslo'); $telnet->print('tento prikaz vykonaj');

}

close FILE;
31.3.2013 16:46 Fabricio
Rozbalit Rozbalit vše Re: Hromadny skript v Perli
Super funguje to presne tak ako som chcel. Dakujem ti este raz velmi si mi pomohol.
31.3.2013 16:50 stanik89 | skóre: 4 | Ostrava
Rozbalit Rozbalit vše Re: Hromadny skript v Perli
to sem rád, nemáš vůbec zač.
1.4.2013 20:46 kolcon | skóre: 15 | blog: kolcon
Rozbalit Rozbalit vše Re: Hromadny skript v Perli
2-way open je deprecated

opem my $file, '<', 'cesta_k_souboru' or die "Cannot open file";

...

while (my $line = <$file>) { ...

} close $file;
1.4.2013 20:47 kolcon | skóre: 15 | blog: kolcon
Rozbalit Rozbalit vše Re: Hromadny skript v Perli
(open ne opem, preklep)
1.4.2013 01:45 mike
Rozbalit Rozbalit vše Re: Hromadny skript v Perli
Odpovědět | | Sbalit | Link | Blokovat | Admin
proc to delat v perlu, vzdyt je to jak delane pro shell a ssh/rsh pripadne expect
for address in `cat addresses`
do
    ssh $address $command
done
1.4.2013 21:07 Ivan
Rozbalit Rozbalit vše Re: Hromadny skript v Perli
proc to delat v perlu
Protoze prave na to je modul Net::Telnet (popr. Net::Telnet::Cisco) delany. Kdysi jsem takovych scriptu nekolik napsal. V Perlu se snadno pouzivaji i fork a signaly. Dany problem se da snadno paralelizovat.

Konkretni implementaci uz ale postnout nemuzu.

1.4.2013 21:12 potato
Rozbalit Rozbalit vše Re: Hromadny skript v Perli
Otázka asi byla, proč by to měl dělat v Perlu někdo, kdo v něm má potíže načíst řádky ze souboru a projet je cyklem. Forkování a signály asi nebudou v tom případě relevantní.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.