The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Net::Telnet::Cisco и IOS XR, !*! gips, 19-Ноя-13, 11:45  [смотреть все]
Добрый день!

Пытаюcь заставить ходить скрипт на ASR9000.

Заменил промт в Cisco.pm по совету отсюда:  
http://www.perlmonks.org/?node_id=751853

на
(?m:^\\s?(?:[\\w.\/]+\:)?(?:[\\w.-]+\@)?[\\w.-]+\\s?(?:\(config[^\)]*\))?\\s?[\$#>]\\s?(?:\(enable\))?\\s*$)

Скрипт работать стал, но при выводе некоторых комманд зависает, даже по таймауту не вываливается.
Судя по input_log, это происходит, когда последняя строчка вывода попадает на "--More--"

--More--           RP/0/RSP1/CPU0:hostname#

на разных маршрутизаторах попадал на такое с "sh ver" и "sh inv".

Скрипт:
my $t = "0";
  my $session = Net::Telnet::Cisco->new(Host => "$host", Errmode => "return", Timeout=> 7, Input_log => "input_log_$host.txt") or $t = "1";
  if ($t != 1) {
  $session->login("$login", "$pass");
  my @output = $session->cmd(String =>"$command", Timeout => 4);

  open(FILE, ">> $host.txt");
  print FILE "@output\n";
  close(FILE);

  $session->close;
  };

Подскажите, пожалуйста, как это исправить? Или хотя бы как сделать, чтобы все-таки по таймауту вываливался? В конце концов можно и из аутпут лога вывод брать.

  • Net::Telnet::Cisco и IOS XR, !*! anonymous, 19:43 , 19-Ноя-13 (1)
    >[оверквотинг удален]
    >   $session->login("$login", "$pass");
    >   my @output = $session->cmd(String =>"$command", Timeout => 4);
    >   open(FILE, ">> $host.txt");
    >   print FILE "@output\n";
    >   close(FILE);
    >   $session->close;
    >   };
    > Подскажите, пожалуйста, как это исправить? Или хотя бы как сделать, чтобы все-таки
    > по таймауту вываливался? В конце концов можно и из аутпут лога
    > вывод брать.

    terminal length 0 назначить на asr'e, например.

    • Net::Telnet::Cisco и IOS XR, !*! gips, 10:55 , 22-Ноя-13 (2)
      >[оверквотинг удален]
      >>   my @output = $session->cmd(String =>"$command", Timeout => 4);
      >>   open(FILE, ">> $host.txt");
      >>   print FILE "@output\n";
      >>   close(FILE);
      >>   $session->close;
      >>   };
      >> Подскажите, пожалуйста, как это исправить? Или хотя бы как сделать, чтобы все-таки
      >> по таймауту вываливался? В конце концов можно и из аутпут лога
      >> вывод брать.
      > terminal length 0 назначить на asr'e, например.

      Спасибо!




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру