Asterisk Projekt: Season 9 – Sicherung der Patton Konfiguration

Die Konfiguration eines Patton 4118 wurde im letzten Artikel beschrieben. Damit nichts verloren geht, sollte man regelmäßig die Konfiguration sichern. Das ganze zu Fuß zu machen macht keinen Sinn also automatisch. Aber wie?

Meine erste Idee

Meine erste Idee war die Sicherung über Telnet. So hat man auch früher die Konfiguation von Cisco Switches gesichert. Ein Script verbindet sich per Telnet auf das Gerät, listet die Konfiguration und sichert sie in einer Datei. Das würde mit den Pattons auch funktionieren. Allerdings gibt es eine bessere Möglichkeit.

Besser ist …

Es gibt die Möglichkeit die Konfiguration per TFTP zu sichern. Nicht als Cronjob auf dem Gerät selbst, sondern mit einem SNMP Aufruf (siehe SNMP Community zum schreiben im letzten Artikel). Dazu gibt es mehrere OIDs mit denen man

  1. den TFTP Server
  2. den TFTP Pfad / Dateinamen

setzen kann. Des Weiteren gibt es eine OID die die Sicherung ausführt und eine um den Erfolg zu prüfen.

In ein Script gepackt …

… sieht das ganze dann so aus:

#!/bin/bash
#
# Do Patton devices upload their current config via tftp
#  -> for Backup
#
# .1.3.6.1.4.1.1768.100.3.1.1.0 = INTEGER: noOp(0)
#  -- configsave $CLIENT SMARTNODE-MIB::uploadExecute.0
# .1.3.6.1.4.1.1768.100.3.1.2.0 = STRING: "10.21.3.10"
#  -- SMARTNODE-MIB::uploadTftpServerAddress.0
# .1.3.6.1.4.1.1768.100.3.1.4.0 = STRING: "moe-pat05_20110929.cfg"
#  -- SMARTNODE-MIB::uploadTftpServerPath.0
# .1.3.6.1.4.1.1768.100.3.1.5.0 = INTEGER: success(1)
#  -- SMARTNODE-MIB::uploadStatus.0
UPLOAD_SERVER="10.21.3.10"
UPLOAD_FILENAME="_`date +%Y%m%d`.cfg"
UPLOAD_CLIENTS="patton01 patton02 patton03 patton04"

for CLIENT in $UPLOAD_CLIENTS
 do
 snmpset -v 1 -c configsave $CLIENT .1.3.6.1.4.1.1768.100.3.1.2.0 s $UPLOAD_SERVER >/dev/null
 snmpset -v 1 -c configsave $CLIENT .1.3.6.1.4.1.1768.100.3.1.4.0 s "${CLIENT}${UPLOAD_FILENAME}" >/dev/null
 snmpset -v 1 -c configsave $CLIENT .1.3.6.1.4.1.1768.100.3.1.1.0 i 1 >/dev/null
 sleep 3
 STATUS=`snmpget -v 1 -c nagios $CLIENT .1.3.6.1.4.1.1768.100.3.1.5.0`
 if [[ $STATUS =~ failed ]]
 then
 echo "$CLIENT: tftp Backup via snmp failed"
 fi
done

Damit liegen die Konfigurationen mit Namen patton01_20111217.cfg im TFTP Verzeichnis des – in meinem Fall – VoIP Servers. Das ganze hübsch in einen Cronjob verpackt und fertig ist die Sicherung.

Category: Asterisk, ubuntuusers.de Tags :

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>