Задать вопрос
Ответы пользователя по тегу Cisco
  • Массовое конфигурирование оборудования (снова), замена SNMP-server name -> hostname?

    @sh1kima26 Автор вопроса
    Уже и позабыл о этом вопросе. Меж тем решил задачу следующим образом:
    Скрипт обращается к txt файлу в котором указаны адреса и нужные имена в формате "255.255.255.255|hostname", отделяет адрес от текста, заносит их в отдельные переменные, потом заходит по адресу указанному в переменной с адресом и выполняет нужные операции. В операции по замене имени подставляет переменную с хостнеймом в текст команды. Сохраняет настройки и уходит с устройства. Цикл повторяется пока не закончится текстовый файл.

    #while (<$IPadd>)
    while (defined($Source = <TEMP>))
    {
    ($IPadd, $Hostname) = (split/\|/ , $Source);
    my ($command1)="$Hostname";
    print "$Source $IPadd\n $Hostname";
    $counter++;
    	       chomp ($_);
               $t->open($IPadd);
               $t->waitfor('/:$/i');
               $t->print($username);
               $t->waitfor('/:$/i');
               $t->print($passwd);
    		   $t->print ("$ena");
    		   $t->print ("$conf");
    			$t->print("hostname $command1");
    			$t->print("$command_exit");
    		    my @command= $t->cmd(Timeout => 60, String =>"$command_wrmem");
    			@command= $t->cmd(Timeout => 60, String => 'y');
    			$t->print("$command_exit");
    			#$t->print("$command_exit");
    			print "$counter",' ';
    }
    close TEMP;
    print ('done on ',"$counter",' ');


    Паузы в конце ставились из-за того, что на некоторых железках конфигурация не сохранялась.
    Способ не идеальный, но в свое время помог серьезно ускорить работу.
    Ответ написан
    Комментировать