Как на perl реализовать аналог rsh. Задача следующая:
есть n-ое количество узлов, на первом этапе собираем информацию по заггрузке узлов по rsh. Затем формируем список узлов, на котором будет производиться запуск программы на какой-либо из списка. Вот здесь и возникает проблема:
необходимо получить доступ к shell и запустить процесс. По rsh не получается. Не могли бы Вы привести код на перле как получить удаленный доступ к какому-нибудь узлу? Или дать ссылки.
Заранее благодарен.
>Не могли бы Вы привести код на перле как получить удаленный
>доступ к какому-нибудь узлу?system("rsh host command");
Вроде так... ;)
>>Не могли бы Вы привести код на перле как получить удаленный
>>доступ к какому-нибудь узлу?
>
>system("rsh host command");
>
>Вроде так... ;)
Он был использован в первую очередь-). Но:
1) Я нахожусь на i-ом узле не входящем в подмножество J узлов кластера. Запуск программы возможен только с k, содержащемся в J. Потому и нужен rsh/telnet/ssh - вообщем доступ к шеллу. ( первый лучше - ~./rhosts )))
2) На узле k после получения доступа к шеллу запускается программа с перенапрвалением потоков STDOUT,STDIN,STDERR.
вот тут и возникает проблема:
я нахожусь на i-ом узле и запсукаю скрипт на перле. Далее после создания J ( по ряду критериев) мы идем на k, содержащемся в J и должны запустить программу с перенаправлением стандартных потоков и вопсле успешного запуска снова вернуться на i.
используя system - валится запуск прогаммы на удаленном хосте -(
она не может перенаправиь потоки.
Заранее благодарен, Вик )
>используя system - валится запуск прогаммы на удаленном хосте -(
>она не может перенаправиь потоки.Хм... Хороший вопрос - а куда вы их перенаправляете, и нельзя ли вместо перенапрвлений вбить статический код, либо вынести их на уровень параметров запуска скрипта?
>>Не могли бы Вы привести код на перле как получить удаленный
>>доступ к какому-нибудь узлу?
>
>system("rsh host command");
>
>Вроде так... ;)
К перлу есть модуль по подключению через телнету. Поставь и конекся с выполнением команд. Модуль называется Net::Telnet.
>>>Не могли бы Вы привести код на перле как получить удаленный
>>>доступ к какому-нибудь узлу?
>>
>>system("rsh host command");
>>
>>Вроде так... ;)
>
>
>К перлу есть модуль по подключению через телнету. Поставь и конекся с
>выполнением команд. Модуль называется Net::Telnet.
Net::Rsh
http://search.cpan.org/author/RIIKI/Net-Rsh-0.02/Rsh.pm