Архив метки: tftp

Сохранение конфигурации Dlink в файл через SNMP

Иногда требуется на всякий случай иметь бекапы конфигурации работающих в данный момент свичей. Один из вариантов — поднимаем сервер TFTP и просим свич сохранить свою конфигурацию на него.

Пример скрипта:

      PutLog("-- Стартуем сохранение конфиги у $device_name");    
      $cm="snmpset -v2c -c X-Files $ip 1.3.6.1.4.1.171.12.1.2.18.1.1.3.3 a $tftpserver";
      PutLog("--- устанавливаем tftp сервер: $cm");    
      $rez=`$cm`;      
      if (strripos($rez,"IpAddress")>0){
        $cm="snmpset -v2c -c X-Files $ip 1.3.6.1.4.1.171.12.1.2.18.1.1.5.3 s $device_name.cfg";
        PutLog("---- устанавливаем имя файла: $cm");              
        $rez=`$cm`;      
        if (strripos($rez,"STRING")>0){
            $cm="snmpset -v2c -c X-Files $ip 1.3.6.1.4.1.171.12.1.2.18.1.1.8.3 i 2";
            PutLog("----- устанавливаем конфиг для сохранения: $cm");              
            $rez=`$cm`;                  
            if (strripos($rez,"INTEGER")>0){
                $cm="snmpset -v2c -c X-Files $ip 1.3.6.1.4.1.171.12.1.2.18.1.1.12.3 i 3";
                PutLog("----- сохраняем конфиг : $cm");              
                $rez=`$cm`;                  
              if (strripos($rez,"INTEGER")>0){                
                  sleep(10);
                  //переименуем полученный файл
                  $newname=$device_name.Date("-Y-m-d-H-i");
                  $rez=`mv /var/tftp/$device_name.cfg /var/tftp/$newname.cfg`;
                   echo "$rez\n";
                  //добавим в архив
                  $rez=`zip /var/tftp/$device_name.zip -m /var/tftp/$newname.cfg`;
                  echo "$rez\n";
              } else {
               PutLog("-- ОШИБКА сохранения конфига");    
            };
            } else {
            PutLog("-- ОШИБКА установки конфига");    
            };            
        } else {
        PutLog("-- ОШИБКА установки имени файла");    
      };
      } else {
        PutLog("-- ОШИБКА установки tftp сервера у $device_name");    
      };