App zum Backupen von Clients im Netzwerk mit dem Pi. Was haltet ihr davon?

le0m

Cadet 4th Year
Registriert
Juni 2015
Beiträge
94
Hi Leute,

ich hab eine kleine Open Source App für den Pi bzw. Raspbian in Python3 geschrieben, um automatisiert Backups von 'Shared Foldern' im Lan zu erstellen. Die App heißt „Very Hungry Pi“ Ich finde sie ziemlich nützlich und da ich nicht vor habe den Code in irgendeiner Weise zu kommerzialisieren dachte ich, ich teile das mal und frage euch, was ihr davon haltet. Das ganze steht unter GPLv3 Lizenz, wer will kann also gern mit schreiben, Bugs aus bügeln, weitere Features integrieren usw.

Hier das github Repository.

Mein Pi(3) läuft jetzt seit mehreren Wochen 24/7 und erstellt im Hintergrund in aller Ruhe Snapshots von wichtigen Verzeichnissen der Rechner im LAN. Die Backups landen in meinem Fall auf einer externen 2TB Festplatte, die per USB mit dem Pi verbunden ist. Der Pi ist per 1Gbit Ethernet Adapter mit dem Router (FritzBox) verbunden und erreicht beim kopieren von encrypted Drive zu encrypted Drive über WLAN mit Rsync (-av) ca. 12MB/s. Ein Backup meines home dirs alle 6 Stunden dauert im Schnitt ca. 35min. Der Pi kommt somit performance-technisch recht gut hinterher. Beim Pi2 (hatte ich vorher in Benutzung) war der Performance-Flaschenhals in hiesigem Szenario vor allem die CPU (>95% load), beim Pi3 ist es I/O (CPU load nur noch <40%). Ich gehe davon aus, dass zukünftige Modelle den I/O Durchsatz noch weiter vergrößern werden.

Hier ein paar Features die mir wichtig waren und die ich so zusammen in keiner App finden konnte, weshalb ich Very Hungry Pi geschrieben habe:

* Die Backups werden am Pi konfiguriert und vom Pi durchgeführt. Auf Seite der Clients werden bloß die Verzeichnisse freigegeben und das war's. Clients müssen sich um nichts weiter kümmern, während im Hintergrund regelmäßig die Backups laufen.
* Zum Konfigurieren der Backups verwendet man ganz einfach Rsync Optionen. (Rsync ist super dokumentiert und ein spitzen Tool. Vhpi verwendet Rsync für den Kopiervorgang.)
* Das ganze lässt sich per Command Line und Config-File konfigurieren (kein GUI nötig).
* Backups werden im Snapshot-Verfahren erzeugt.
* Snapshots verwenden nach Möglichkeit Hardlinks, um Backups schlank zu halten.
* Snapshot Intervalle und Snapshot Aufbewahrungsdauer für jedes Source Verzeichnis frei konfigurierbar.
* Open Source. Keine Backdoor etc.
* Die Möglichkeit NFS für die Übertragung zu benutzen (Mit schwachem Pi2 wichtig wegen Performance. NFS hat einen geringeren Overhead als SSH oder Samba. Mit Pi3 ggf. irrelevant).
* Schlanke Logfile für schnelle Übersicht plus debug log.
* Die Moglichkeit von verschlüsselter Quellplatte zu verschlüsselter Zielplatte zu kopieren. (nachdem die Platten am Pi entschlüsselt wurden.)

Mehr Stichpunkte fallen mir grad nicht ein..

Vielleicht ist es ja für irgend wen nützlich :)

Was haltet ihr davon?
 
Erstmal Daumen hoch für das Projekt und die Mühe! Klingt interessant! :)

Ich selbst nutze den Pi 3 als Cloud-Server, da ich meine Daten auch unterwegs gerne synchron habe. Von daher ist es immer wieder nett zu lesen, was man mit dem Minirechner alles machen kann...

Gruß Jens
 
Klingt super! Bitte gut kommentieren und Anleitung für Noobs nicht vergessen... Danke dafür.
 
Klingt interessant, aber ähnlich zu backuppc welches im repo von raspbian wäre.
Das ixt in perl, hat ne webgui und kann auch dedup und Kompression, aber files sind nicjt einzeln zugreifbar.

Trotzdem daumen hoch und immer wieder erstaunlich was der kleine so stemmt.
 
Zurück
Oben