Telnet с дополнительным логином / pw и отправкой команд с использованием perl - PullRequest
0 голосов
/ 15 ноября 2018

Хорошо, я новичок в Perl-скрипте, пытаюсь создать код и искал здесь сообщения, связанные с telnet, ведением журнала и отправкой команд ... Я пробовал то же самое, но не получилось

Вот файл json

{
"testbed": {

    "rps": {
        "RPS1": {
            "management": "192.168.40.2",
            "pool": "2,4,5"
        },
        "RPS2": {
            "management": "192.168.40.20",
            "pool": "2,5"
        }
    },

}

И мой Perl-скрипт такой

#!/usr/bin/perl -w
use warnings;
use strict;
use JSON;
use Talari::Automation::CLI;
use Data::Dumper;
use Net::Telnet();
use Expect;


#read json and print value of json
my $json;
{
  local $/; #Enable 'slurp' mode
  open my $fh, "<", "Persistent_path.json";
  $json = <$fh>;
  close $fh;
}
my $data = decode_json($json);

############RPS
use vars qw/ $rps $rpses $ip /;



#rps info from decoded $data alone stored in $rps of perl
my $rps = $data->{'testbed'}->{'rps'};
print Dumper($rps);

# loop to extract only mgt ip addresses of switches
foreach my $rpsinfo(keys %{$rps})
{
    my $rpses=$rps->{$rpsinfo};
    my $rpsip = $rpses->{'management'};
    my @rpspool = $rpses->{'pool'};
    my $telnet = Net::Telnet->new( Timeout=>5, Errmode=>'die', );
    $telnet->open("$rpsip");
    $telnet->waitfor('/\> $/');
    $telnet->cmd('pshow');
}

и выводом является тайм-аут сопоставления с образцом в строке ./rps.pl 38 и при входе в telnet вручную, приглашение показывает только>

Я просто хотел как можно проще войти в telnet, поэтому я искал и увидел модуль Telnet, но он не выдает вывод. Я также попробовал этот код

system("telnet","$rpsip");

Это работает, но я не могу отправить какие-либо команды, такие как "pshow", используя команду печати ..

Кто-нибудь поможет мне с этим? Я просто хочу сделать это проще, а также я должен изменить код так, чтобы в случае сбоя соединения я хотел попробовать еще 2 раза войти в систему, а затем выполнить мои команды для включения портов.

Заранее спасибо. Кроме того, есть ли место, где я могу изучить Perl-скрипт, в основном связанный с сетью?

...