Hi All! Подскажите - как телнетом при помощи скрипта (или еще как:-) зайти в систему и передать login и passwd а затем команду. Для чего надо? - есть xDSL модем, у которого иногда виснет интерфейс тот который в кабель (PPPoE), а eth0 к машине живой остается. Вот и надо его при отсутствии пинга ребутнуть без участия человека...
Подсказали копать в сторону Perl Net::Telnet.
С Perl'ом никогда дела близко не имел, но все же наваял скриптик:
Запускаю так: ./script login passwd#!/usr/bin/perl
use Net::Telnet ();
$t = new Net::Telnet (Timeout => 20);
$t->open("192.168.0.10");
$t->login($login, $password);
$t->cmd("reboot");и проблемка в том что он по таймауту вываливается:
timed-out waiting for password prompt at ./script line 5
создается впечатление, что "некому нажать enter" после ввода пароля.
Что посоветуете?P.S. Прошу прощения за ламерский вопрос...
>#!/usr/bin/perl
>use Net::Telnet ();#инициализировать переменные
my $login = shift or die "Login name required";
my $password = shift or die "Password required";>$t = new Net::Telnet (Timeout => 20);
>$t->open("192.168.0.10");
>$t->login($login, $password);
>$t->cmd("reboot");
>
>#инициализировать переменныеА толку? Это проблему не решает....
Он после ввода логина ентер как не давил - так и не давит
>Hi All! Подскажите - как телнетом при помощи скрипта (или еще
>как:-) зайти в систему и передать login и passwd а затем
>команду. Для чего надо? - есть xDSL модем, у которого иногда
>виснет интерфейс тот который в кабель (PPPoE), а eth0 к машине
>живой остается. Вот и надо его при отсутствии пинга ребутнуть без
>участия человека...
>Подсказали копать в сторону Perl Net::Telnet.
>С Perl'ом никогда дела близко не имел, но все же наваял скриптик:
>
>Запускаю так: ./script login passwd
>
>#!/usr/bin/perl
>use Net::Telnet ();
>$t = new Net::Telnet (Timeout => 20);
>$t->open("192.168.0.10");
>$t->login($login, $password);
>$t->cmd("reboot");
>
>и проблемка в том что он по таймауту вываливается:
>timed-out waiting for password prompt at ./script line 5
>создается впечатление, что "некому нажать enter" после ввода пароля.
>Что посоветуете?
>
>P.S. Прошу прощения за ламерский вопрос...
try to use expect
instead of perl-net::telnet
:
expect...
send ...примеры есть