04.10.2010

BackupPc: Sicherung des eigenen Servers (localhost)

Einleitung

Auf der Suche nach einer Backuplösung für unser kleines Netzwerk (3 Notebooks + 1 Netbook) bin ich auf BackupPc gestoßen. Die Software sichert vollautomatisch alle zuvor konfigurierten Rechner, wenn sie ans Netzwerk angeschlossen sind. Über den Webbrowser können die gesicherten Daten vom jeweiligen Benutzer betrachtet und bei Bedarf auch wieder heruntergeladen werden. Im Idealfall müsste also der Admin bei der Wiederherstellung der Daten nichts tun. BackupPc kann laut eigenen Angaben Computer mit Windows, Linux oder MacOS sichern. Im ersten Fall über smb, sonst über ssh und rsync.

Wer die Software gerne mal selbst ausprobieren möchte, kann sich die Programmvorstellung von ProLinux durchlesen. Bei Problemen sollte die gute englische Dokumentation weiterhelfen können.

01.10.2010

Kurztipp: Pysnmp und die Beschreibung der Variable

Wer wie ich eine MIB-Datei parsen muss und pysnmp benutzt, wird sich vielleicht wundern, dass die Beschreibung einer Variable (in der MIB-Datei DESCRIPTION) immer leer ist:

>>> from pysnmp.smi import builder
>>> b = builder.MibBuilder()
>>> b.loadModules('SNMPv2-MIB')
<pysnmp.smi.builder.MibBuilder instance at 0x7f8e07443830>
>>> node = b.importSymbols('SNMPv2-MIB','sysDescr')
>>> node[0].getName()
(1, 3, 6, 1, 2, 1, 1, 1)
>>> node[0].getDescription()
''
>>>

In der/dem Dokumentation/Tutorial findet man leider keinen einzigen Hinweis. Es wird allerdings auch erwähnt, dass es noch unvollständig ist. Ein Beitrag aus der Mailinglist aus dem Jahre 2008 erwähnt dieses Problem. Einer der Entwickler schreibt, dass aus Speicher- und CPU-Zeitgründen die Description nicht geladen wird. Einige Zeit später wird erwähnt, dass es optional geladen werden kann. Wenn man in den Quellcode schaut, erfährt man auch wie:

>>> from pysnmp.smi import builder
>>> b = builder.MibBuilder()
>>> b.loadTexts = 1
>>> b.loadModules('SNMPv2-MIB')
<pysnmp.smi.builder.MibBuilder instance at 0x7f56e641c7a0>
>>> node = b.importSymbols('SNMPv2-MIB','sysDescr')
>>> node[0].getName()
(1, 3, 6, 1, 2, 1, 1, 1)
>>> (1, 3, 6, 1, 2, 1, 1, 1)
(1, 3, 6, 1, 2, 1, 1, 1)
>>> print node[0].getDescription()
A textual description of the entity.  This value should
include the full name and version identification of
the system's hardware type, software operating-system,
and networking software.