Automatisches (differenzielles) Backup von Daten auf ein NAS Laufwerk?

PaulEdison

Cadet 4th Year
Registriert
Juni 2016
Beiträge
71
Hallo alle,

Ich suche nach einer Datensicherungslösung, die Daten von einem Windows PC (Windows 10) auf ein NAS sichert.

Die Lösung soll folgendes tun:
Einen Task der manuell oder Zeitgesteuert startet
Der Task "sichert" definierte Folder vom Windows PC auf das NAS (das gibt es noch nicht)

Das „sichert“ Task sollte eigentlich:
  • Einen Verzeichnis mit dem Datum – Uhrzeit (z. B. 2023-07-28_16-12-13) erstellen
  • Überprüfen was beim letzten durchlauf erstellt wurde um ...
  • Sym-Links für Dateien zu erstellen , die:
  • - im alten Backup vorhanden sind
  • - in der Live-Maschine vorhanden sind und
  • - auf der Live-Maschine seit der letzten Sicherung nicht geändert wurden.
  • kopiert alle neuen und geänderten Dateien von der Live-Maschine.

Einmal im Jahr oder manuell ausgelöst, sollte die „Synchronisierung“ eine vollständige Kopie ohne die Sym-Links erstellen.

Der Nutzer zum schreiben auf dem NAS hat nur schreibe keine überschreibe/lösch rechte.

Was nicht gewollt ist:
  • eine Lösung basierend auf Images (Full disk)
  • eine Lösung basierend auf nicht gängigen Dateiformaten (für Archive usw.)
  • eine Lösung die einfach nur was synchronisiert
  • eine Lösung basierend auf einer Closed-Source-Anwendung

Gibt es ein Set-up, das das kann, was hier beschrieben wird?
(Das NAS ist noch nicht definiert, der Fokus hier liegt auf dem Client auf der Windows machine)
 
restic mit append only?
 
PaulEdison schrieb:
Was nicht gewollt ist:
  • eine Lösung basierend auf Images (Full disk)

images kann man mounten und normal können alle backupprogramme ein differenziales backup erstellen. Ein Tip: Hat was mit dem Datei Attribut a (Archive) zu tun.
zur not kann man auch ein kleines Powershell scrip erstellen
 
  • Gefällt mir
Reaktionen: Drahminedum
Du willst also rsnapshot für Windows? Mithilfe von WSL könnte man das direkt mit rsnapshot selbst umsetzen.

Wobei ich dabei erstmal ausführlich testen würde, wie zuverlässig die Filesystem Timestamps denn dann funktionieren. Bei meinem Notebook geht leider gerne die Zeit in der WSL VM falsch nach Standby etc.
 
rsnapshot wäre auch meine Empfehlung gewesen. Allerdings fertigt das Programm keine differenziellen, sondern inkrementelle Sicherungen an.
Setze ich seit Jahren ein, allerdings auf einer Linux-Maschine. Ich würde auch empfehlen, das sehr sorgfältig zu testen, wenn du das auf Windows einsetzt.

Unter Windows habe ich in der Firma differenzielle Sicherungen mit Areca durchgeführt und war damit ebenfalls mehrere Jahre lang sehr zufrieden.
 
Holzohrwascherl schrieb:
Allerdings fertigt das Programm keine differenziellen, sondern inkrementelle Sicherungen an.
? Rsnapshot macht doch genau das Schema das Op wollte, inklusive Symlinks etc.

Und wenn wir über Feinheiten reden, würde ich sagen ist es weder Inkrementell noch differenziell, wenn nur auf Dateibasis gearbeitet wird, was ja sogar Anfoderung ist, wenn die Dateien alle direkt nutzbar vorhanden sein sollen. Das macht halt keinen Sinn für eine 50GB vhdx Datei und ist effektiv immer ein Vollbackup von jeder Datei.
 
Auch wenn Imgaebackups nicht gewünscht sind

Ich mach via Skript monatlich ein Komplettes Images und dann tägliche eine Differenteles als DIFF zum Startimage - damit kan man das VHD quasie taggenau Mounten und die täglichen Diffs sind doch gering

zum Einstieg http://www.drivesnapshot.de/de/differential.htm
 
kieleich schrieb:
restic mit append only?
Schaut interesannt aus, aber es ist leider auch ein nicht direkt lesbares format - ist im prinzip daher auch eher ausgeschlossen (wie images).



wern001 schrieb:
images kann man mounten und normal können alle backupprogramme ein differenziales backup erstellen.
Ein Tip: Hat was mit dem Datei Attribut a (Archive) zu tun.
zur not kann man auch ein kleines Powershell scrip erstellen

Ich muss gestehen ich verstehe das nicht ganz was du meinst.
Image based backup soll es wenn nur zur außersten not sein - also eher nein.

Ich verstehe auch nicht was es mit dem Attibut auf sich hat und wie das mit dem Powershell zusammen hängt ...


Ray519 schrieb:
Du willst also rsnapshot für Windows? Mithilfe von WSL könnte man das direkt mit rsnapshot selbst umsetzen.

Holzohrwascherl schrieb:
rsnapshot wäre auch meine Empfehlung gewesen. Allerdings fertigt das Programm keine differenziellen, sondern inkrementelle Sicherungen an.
Setze ich seit Jahren ein, allerdings auf einer Linux-Maschine. Ich würde auch empfehlen, das sehr sorgfältig zu testen, wenn du das auf Windows einsetzt.
Schaut sehr interesannt aus, ist aber die frage ob ich mir das eben auf Windows einrichten will ...

Holzohrwascherl schrieb:
Unter Windows habe ich in der Firma differenzielle Sicherungen mit Areca durchgeführt und war damit ebenfalls mehrere Jahre lang sehr zufrieden.
Bist du jetzt nicht mehr zufrieden damit?
Aber nachdem das auch nicht mehr gewartet wird (bei heiße steht har nur bis Windows 7 (ja Java ich weiß) :D) - bin ich noch am überlegen.


Die sache ist die, das ich das nicht (nur) bei mir einrichten will, sondern bei unserem Verein (möglich nichts Kosten solls;) ).
Da soll der Sekreteriats Rechner + ein weiter gesichert werden.
Und nach einrichtung ohne zutun gut sichern.
aber auch im notfall jemand anders daten aus dem Backup wieder raus holen können -> daher der Wunsch nach einfach einem Verzeichniss mit den Daten, nach Datum (ohne andere Formate).
 
PaulEdison schrieb:
Bist du jetzt nicht mehr zufrieden damit?
Ich musste unter Windows tägliche Sicherungen durchführen, um bei einer bestimmten Menge von Dateien über mehrere Jahre hinweg den Datenbestand jeden Tages schnell feststellen zu können.

Diese Anforderung endete nach einer bestimmten Zeit. Seither führe ich selbst in der Firma keine Datensicherungen mehr durch.

Zu Hause habe ich versucht, Areca unter Linux zu laufen zu bringen, ohne Erfolg. Dann habe ich den Entwickler angeschrieben. Ich habe nicht sogleich eine Antwort erhalten (das dauerte etwa 1,5 Jahre), so bin ich auf andere Backupprogramme umgestiegen (Back in Time, rsnapshot, borgbackup).

Aber unter Windows hatte ich nie ein Problem. Ich hatte seinerzeit auch eine kl. Dokumentation für die Abteilung geschrieben. Falls Interesse besteht, könnte ich die noch rauskramen.
 
Haha, jetzt habe ich eine Idee:
Von Windows pushe ich die daten mit einem "normalem" Sync Program auf das NAS.
Danach wird vom NAS aus mit rsnapshot in ein anderes Verzeichnis gesichert (und eben die "snapshopts" dort erstellt :D

Naja weiß nicht.
 
Für ein Vollbackup wird ein Backupprogramm benötigt. Sonst fehlen Partitionen die beim Systemstart relevant sind.
 
PaulEdison schrieb:
Schaut sehr interesannt aus, ist aber die frage ob ich mir das eben auf Windows einrichten will ...
Warum sollte Du das auf Windows einrichten?
Im Idealfall läuft das Backup auf dem NAS/Server/RaspPi (was auch immer), hat lesenden Zugriff auf den Client und der Client hat max. lesenden Zugriff auf die gesicherten Daten auf dem NAS. Nur so wird schonmal (mind.) eine potentielle Möglichkeit vermieden, dass irgendetwas vom Windows-PC aus die Backups löschen/verschlüsseln kann.

Das Skript (hier dann wohr rsnapshot), welches auf dem NAS läuft, kopiert dann die Daten vom PC aufs NAS und hat damit dann auch alle Möglichkeiten, die Linux so bietet.

PaulEdison schrieb:
Von Windows pushe ich die daten mit einem "normalem" Sync Program auf das NAS.
Auch dafür muss der PC Schreibrechte auf dem NAS haben. Wenn Du danach noch lokal rsnapshot laufen lässt (wie gestartet ?), welches die Daten lokal in ein Verzeichnis sichert, auf das der PC-User nur Leserechte hat, bleibt nur der Zeitraum zwischen Sicherung durch den PC und dem rsnapshot als potentieller Zeitraum zum Löschen/Verändern der aktuellen Daten das Backups übrig.

Ähnlich läuft es bei mir, wenn auch auf einem einzigen privaten Windows-PC und ohne rsnapshot.
  • Einmal im Monat wird ein Vollbackup der zu sichernden Daten als 7zip erstellt (das OS-Image ist etwws so grundlegend anderes, dass es damit nichts zu tun hat)
  • täglich (bei jedem Shutdown des Windows-PCs) wird ein differenzielles Backup erstellt, ebenfalls per 7zip (weil 7zip keine inkrementellen Backups beherrscht).
  • die 7zips landen auf meinem "NAS", das in Wahrheit der DVB-C Receiver mit Linux ist, da nur der 24/7 läuft
  • auf dem NAS läuft ein Linux-Skript, das alle paar Minuten das Eingangsverzeichnis überwacht und dort abgelegte Backups in ein anderes Verzeichnis verschiebt. Auf dieses Verzeichnis hat der PC-User nur lesenden Zugriff. Da müsste der Trojaner also schon in den DVB-C Receiver einbrechen, um die Backups verschlüsseln/löschen zu können.

Das ganze müsste so auch mit rsnapshot auf dem NAS funktionieren. Dafür müsste ich mir nur einen Weg ausdenken, mit dem ich rsnapshot auf dem NAS starte und am PC so lange mit dem Shutdown warte, bis das seine Arbeit erledigt hat.
 
Giggity schrieb:
Für ein Vollbackup wird ein Backupprogramm benötigt. Sonst fehlen Partitionen die beim Systemstart relevant sind.
Es geht hier rein um Datenbackup.


gymfan schrieb:
Warum sollte Du das auf Windows einrichten?
Im Idealfall läuft das Backup auf dem NAS/Server/RaspPi (was auch immer), hat lesenden Zugriff auf den Client und der Client hat max. lesenden Zugriff auf die gesicherten Daten auf dem NAS.
Stimmt, so rum könnte es Sinnvoller sein.

gymfan schrieb:
Das Skript (hier dann wohr rsnapshot), welches auf dem NAS läuft, kopiert dann die Daten vom PC aufs NAS und hat damit dann auch alle Möglichkeiten, die Linux so bietet.
Stimmt, es stellt sich nur die frage der (Zeitlichen / Steuer) Synchronisierung.
Wie/Wann stelle ich sicher, das beide Geräte das NAS und der Windows-PC, gleichzeitig für die Sicherung laufen.
Ich müsst dies Zeitlich steuern und bei nicht gelingen eine Benachrichtigung senden.


gymfan schrieb:
Auch dafür muss der PC Schreibrechte auf dem NAS haben. Wenn Du danach noch lokal rsnapshot laufen lässt (wie gestartet ?), welches die Daten lokal in ein Verzeichnis sichert, auf das der PC-User nur Leserechte hat, bleibt nur der Zeitraum zwischen Sicherung durch den PC und dem rsnapshot als potentieller Zeitraum zum Löschen/Verändern der aktuellen Daten das Backups übrig.
Naja, das wären dann ja unterschiedliche Verzeichnisse mit unterschiedlichen Rechten.
Der Zeitraum zwischen sync on rsnapshot würde ich bei uns als nicht so kritisch betrachten.




gymfan schrieb:
Ähnlich läuft es bei mir, wenn auch auf einem einzigen privaten Windows-PC und ohne rsnapshot.
  • Einmal im Monat wird ein Vollbackup der zu sichernden Daten als 7zip erstellt (das OS-Image ist etwws so grundlegend anderes, dass es damit nichts zu tun hat)
  • täglich (bei jedem Shutdown des Windows-PCs) wird ein differenzielles Backup erstellt, ebenfalls per 7zip (weil 7zip keine inkrementellen Backups beherrscht).
  • die 7zips landen auf meinem "NAS", das in Wahrheit der DVB-C Receiver mit Linux ist, da nur der 24/7 läuft
  • auf dem NAS läuft ein Linux-Skript, das alle paar Minuten das Eingangsverzeichnis überwacht und dort abgelegte Backups in ein anderes Verzeichnis verschiebt. Auf dieses Verzeichnis hat der PC-User nur lesenden Zugriff. Da müsste der Trojaner also schon in den DVB-C Receiver einbrechen, um die Backups verschlüsseln/löschen zu können.
Um das richtig zu verstehen:
Das ganze wird vom Windows PC gesteuert (Monatliches Vollbackup & Shutdown diff Backup)?
Wie wird das als differenzielles erzeugt (auf 7zip archiv basis oder "davor" auf Inhalts Basis schon)?
Wie stellst du es sicher das es bei jedem Shutdown des Windows-PCs passiert? (gibt es da einen einfachen hook?)
Und wie sieht die suche/Wiederherstellung der Daten aus?


gymfan schrieb:
Das ganze müsste so auch mit rsnapshot auf dem NAS funktionieren. Dafür müsste ich mir nur einen Weg ausdenken, mit dem ich rsnapshot auf dem NAS starte und am PC so lange mit dem Shutdown warte, bis das seine Arbeit erledigt hat.
Ja genau dies abpassen bzw (Zeitlichen / Steuer) Synchronisierung wäre zu lösen.
Aber ich werde mal was überlegen.
 
PaulEdison schrieb:
Stimmt, es stellt sich nur die frage der (Zeitlichen / Steuer) Synchronisierung.
Wie/Wann stelle ich sicher, das beide Geräte das NAS und der Windows-PC, gleichzeitig für die Sicherung laufen.
Das hängt davon ab, was das NAS/RaspPi kann und welches Wissen Du hast (alles Folgende ist keine Feritglösung). Auf meinem DVB-C Receiver kann ich leider nicht so einfach (noch einen) Webserver laufen lassen oder den vorhandenen dafür nutzen, um solche Sachen mit einem einfachen Webserver-Aufruf zu starten und am PC zu warten, bis mir ein anderer Web-Aufruf das Ende signalisiert.

PaulEdison schrieb:
Das ganze wird vom Windows PC gesteuert (Monatliches Vollbackup & Shutdown diff Backup)?
Wie wird das als differenzielles erzeugt (auf 7zip archiv basis oder "davor" auf Inhalts Basis schon)?
(1) ich fahre meinen PC nicht mit dem Windows-Startmenü runter, sondern mit einem Batch-Script, das auf dem Desktop liegt.
(2) Das Skript kopiert erst einmal lokal die Daten auf ein zweites Laufwerk (ist natürlich nicht nötig, die Sicherung per 7zip kam erst später dazu, mein Hauptziel war die Absicherung eines HW-Ausfalls eines Laufwerkes).
(3) Je nach Zeitpunkt (Monatswechsel seit dem letzten Backup oder nicht) wird entweder ein neues 7zip Vollbackup erzeugt oder ein differenzielles, das als Basis das letzte Vollbackup des Monats nutzt. Beim Diff-Backup wird vom 7zip das letzte Vollbackup als Basis genutzt. Es ist quasi in Archiv-Update, das aber in ein neue Archiv geschrieben wird.
(4) Das 7zip wird in das Eingangsverzeichnis des NAS kopiert/verschoben.
(5) Auf dem NAS läuft ein Skript, das die Backups am Dateinamen erkennt und in ein Verzeichnis verschiebt, das von außen nur lesend freigegeben ist.
(6) Alle paar Monate/Jahre muss ich die alten Backups im Verzeichnis von (5) löschen. Da ich monatlich die Backups nochmal manuell auf mein echtes NAS kopiere (das aber nicht 24/7 läuft), sind die Sachen dort gesichert (und nochmal auf dem Backup-NAS).

PaulEdison schrieb:
Wie stellst du es sicher das es bei jedem Shutdown des Windows-PCs passiert? (gibt es da einen einfachen hook?)
Nein, den gibt es leider nicht. Man kann zwar per Aufgabenplanug beim Shutdown/Ruhezustand ein Skript starte, das kann aber den Shutdown nicht beliebig lange verzögern (also so lange, bis das Backup auf dem NAS geschrieben ist). Dazu müsste man einen Windows-Service schreiben (nur der darf die passende Windows-API aufrufen), den man beim Shutdown startet und der das Backup dann erledigt. Soweit jedenfalls Win 7 und Win 10, mit Win 11 habe ich noch nichts gemacht.

PaulEdison schrieb:
Und wie sieht die suche/Wiederherstellung der Daten aus?
Das ist dann leider nichts für den Endanwender (der ich aber einzig selber bin, daher passt das für mich).
Ich muss dafür zunächst das monatliche Vollbackup temporär mit 7zip entpacken und danach daas differenzielle Backup an die selbe (temporäre) Stelle. 7zip hat sich dabei auch die Dateien gemerkt, die seit dem Vollbackup gelöscht wurden und löscht diese im temporären Ordner. Genauso werden Dateien überschreiben, die sich im diff. Backup geändert haben.

Man könnte die Dateien auch genauso aus den 7zips direkt einzeln entpacken, muss dann aber selber prüfen, ob es im Diff-Backup eine neuere Datei gibt oder Vollbackup zählt.

Dafür, dass ich das in knapp 10 Jahren noch nie benötigt habe, ist es mir den Aufwand wert. Immer noch besser wie meine ehemalige Lösung mit Acrionis TI, auf die ich heute nur noch mit riesigem Aufwand zugreifen könnte, da ich seit 2013 keine Acronis-Lizenz mehr habe.

PaulEdison schrieb:
Ja genau dies abpassen bzw (Zeitlichen / Steuer) Synchronisierung wäre zu lösen.
Aber ich werde mal was überlegen.
In der Billiglösung (ist wohl wieder nur etwas für einen selber):
(a) auf dem NAS läuft per Timer ein Skript, das im Eingangsverzeichnis eine Startdatei für das Backup erwartet (eine Datei je zu sichernden Rechner)
(b) Das Shutdown-Skript auf dem PC schreibt diese Start-Datei auf dem NAS und wartet, bis das NAS dort eine "fertig" Datei ablegt.
(c) das NAS löscht die Startdatei, führt per rsnapshot das Backup durch und schreibt eine "Ende" Datei
(d) der PC liest diese Ende Datei, löscht sie und fährt den PC herunter.
(e) zusätzlich merkt das Sktipt auf dme PC, wenn die "Start" Datei mehr wie X Minuten nicht gelöscht wurde und fährt den PC dann genaus runter wie wenn es in (b) das NAS nicht erreichen kann.

Alternativ macht man das Handshake mit einem einfachen Webservice. Dann könnte der Anwender bei Bedarf das Backup auch selber anstoßen.

Für mich hat das Vorgehen den Vorteil, dass ich den PC auch ohne Backup neu starten oder runter fahren kann. Ich möchte nur einmal am Abend ein Backup, fahre den PC aber auch gerne mal runter, wenn ich für längere Zeit unterwegs bin.
 
Zurück
Oben