Das Problem mit mehreren Geräten
In den letzten Monaten habe ich mein Heimnetzwerk massiv umgebaut. Ein Docker Host und 3 Raspberry Pi's wurden hinzugefügt. Sowohl der Docker-Host als auch eine der drei Himbeeren möchten gesichert werden. Dies kann natürlich problemlos mit Rsync durchgeführt werden. Es ist jedoch umständlich zu überwachen, ob die Datensicherung zuverlässig funktioniert. Ich konnte mich regelmäßig auf Geräte mit SSH-Verbindungen und Protokolldateien überprüfen. Alternativ könnte ich die Protokolldateien auch in eine freigegebene Bestellung aufnehmen und überprüfen. Ich würde jedoch eine zentrale Überwachung der Datensicherungen bevorzugen, ohne Protokolldateien lesen zu müssen.
DIY Datensicherung mit Rsync
Getreu dem Motto "Warum einfach, wenn es kompliziert wird" habe ich meinen Datensicherungsprozess um eine zentrale Überwachung erweitert. Mein Gedanke war, eine einfache Web-API mit Lumen (PHP) zu programmieren, an die die wichtigsten Informationen der Sicherung gesendet werden, sobald die Datensicherung abgeschlossen ist. Die Analyse der Protokolldateien macht mich zu einem Programm, das ich mit Go geschrieben und kompiliert habe. Das Go-Programm sendet den Hostnamen, den Jobnamen (über Parameter übergeben), den Zeitstempel der Sicherung sowie die Anzahl der Dateien und neuen Daten an die Web-API. Eine einfache einseitige Webanwendung (mit VueJS programmiert) zeigt mir dann meine Datensicherungsinformationen an. Ich integriere diese Weboberfläche als externe Seite in Nextcloud und habe daher alles auf einen Blick.
First draft - design is embellished;)
RSync Monitor installieren
Der vollständige Code meiner Lösung ist Open Source und auf GitHub verfügbar. Am einfachsten ist es, die fertigen Docker-Images zu verwenden, um die Anwendung selbst zu installieren. Sie müssen jedoch das Go-Programm selbst kompilieren und die Ziel-IP-Adresse der Web-API im Voraus anpassen. In der nächsten Version wird die Web-API-Adresse als Startparameter übergeben. Ebenso müssen Sie die API-Adresse im Frontend anpassen, über die jeder Client die API erreichen kann. Dies ist normalerweise die IP Ihres Docker-Hosts.
Anweisungen in englischer Sprache finden Sie in der Readme-Datei auf meinem GitHub Repository.
Information
Diese Software lebt vom Community-Support. Ich denke, dies ist hilfreich oder wenn Sie möchten, dass ich diese Anwendung verbessere, markieren Sie diese Anwendung bitte auf github oder noch besser: Werden Sie Sponsor auf Patreon, PayPal oder GitHub