Сохранение конфигурации Dlink в файл через SNMP
Иногда требуется на всякий случай иметь бекапы конфигурации работающих в данный момент свичей. Один из вариантов — поднимаем сервер TFTP и просим свич сохранить свою конфигурацию на него.
Пример скрипта:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
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"); }; |