Intelligenter Datenabgleich über Nacht?

Stefan 0815

Enthusiast
Thread Starter
Mitglied seit
18.02.2013
Beiträge
659
Hallo liebes Forum,

Ich würde gerne einige Ordner über ein VPN miteinander abgleichen. Auf der einen Seite läuft ein Server 2012 auf der anderen Seite ein Windows 8.
Die Daten sind zum größten Teil sehr statisch, es geht hier um Fotosammlungen aber auch einige eingelesene CD's. Vermutlich sind innerhalb einer Woche maximal 1GB zu übertragen.

Mein Traumprogramm würde das folgende machen:

Schauen ob Daten verändert oder verschoben wurden (d.h. die Daten in anderen Ordnern zu finden sind) und anschließend die Änderrungen übertragen.
Am genialsten wäre es natürlich, wenn jeweils nur die geänderten informationen innerhalb einer Datei übertragen werden, aber das ist sicher nicht möglich?
Die Dateien sollen ein direktes Abbild sein, also es sollte nicht wie mit Acronis oder der Windows 7 Sicherung ein Container verwendet werden.

Die Traumhafteste Lösung wäre es, wenn die zu übernehmenden Änderungen zunächst auf die system SSD übertragen werden, sodass nachts die Raidfestplatten schlafen könnten. Sobald die Daten dann doch zu groß werden, könnte man sie dann auf eine externe Festplatte übertragen und dann manuell vorbeibringen.

Ich habe schon ein paar Synchronisationsprogramme im Netz gefunden, jedoch war meine Ausbeute bisher ziemlich mieß (die Traumfunktion wird es sicher nirgens geben)
Lohnt es sich so etwas selbst zu programmieren? Welche Ansätze würdet ihr hierfür verwenden?
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Kostenfrei und einfach wäre wohl robocopy von Microsoft.

Kleines schmales Kommandozeilentool, was auch einen 1:1 Sync anstoßen kann.
Ob man dem Ding allerdings sagen kann, es solle nur geänderte Daten übertragen, weis ich allerdings nicht genau, müsstest du mal googlen. -> ob das allerdings bei Bildern überhaupt Sinn ergibt, steht auf nem anderen Blatt. Speziell bei JPG Bildern dürfte das Datenmuster nach dem ändern (und der zwingenden neu Komprimierung des Bildes) quasi so oder so vollständig anders ausfallen und ein quasi komplett Datentransfer dieser Files von Nöten sein.

Das ganze lässt sich dann bequem via Task Planer am Client oder am Server anstarten. Und kann sogar mit UNC Pfaden umgehen.



Unterm Strich stellt sich mir noch die Frage, wie die Daten genau gehalten werden. Oftmals kommt es nämlich vor, das aktiv in beiden Datenbeständen gearbeitet wird.
Und hier kann man simpel und einfach nur sagen, das es ein derartiges Programm zum Sync zwar potentiell gibt, aber es aus meiner Sicht kreuzgefährlich ist, sowas einzusetzen... Denn ein Programm kann schlicht nicht die Logik aufbringen um zu wissen, was der User als das "richtige" File ansieht, wenn sowohl Quelle als auch Ziel bearbeitet wurden ;)
 
Robocopy sieht sehr vielversprechend aus!

Die Sicherungen sollen übrigens nur "oneway" sein, d.h. an den Daten auf der anderen Seite wird nicht gearbeitet. Es handelt sich also lediglich um eine Sicherung außerhalb des Hauses.

Jetzt müsste ich noch folgendes mit Robocopy lösen:
Robocopy müsste nur alle Dateien die geändert werden lokal speichern, und dann erneut diesen lokalen Ordner mit dem fernen Ziel abgleichen. Das würde verhindern, dass alle Festplatten während der Übertragung laufen müssten. Zudem würde dies ein Austauschen mittels einer kleineren Festplatte erleichtern.

Vielleicht ließe sich das irgendwie aus der Probierfunktion bauen?
 
Zuletzt bearbeitet:
??
start hat den Job zweimal.

Einmal Lokal-Quelle -> Lokal-Ziel und dann nach erfolgreichem Abschluss von Lokal-Ziel aus Job1 -> Remote Ziel.

Wenn auf dem Server die Daten nur simpel gespeichert werden sollen, ohne das dort Änderungen vorgenommen werden, dann geht die Version mit Robocopy definitiv sauber und einfach.
Müsstest dich nur mit dem Kommandozeilenparametern mal auseinandersetzen, was du dort genau brauchst.
 
@Robocopy

In der letzten Stunde habe ich schon so einiges über Robocopy gelesen.

Vermutlich habe ich es nicht genau auf den Punkt gebracht:
Ich möchte insgesammt etwa 2TB Daten abgleichen. Davon werden im Schnitt aber nur wenige MB innerhalb einer Woche geändert.
Der Job müsste etwa so aussehen:

Nach Änderungen lokal und in der Ferne scannen (Alle Festplatten im Betrieb)->
Differenzen lokal temporär zwischenspeichern (Auf System SSD, Festplattenpool geht schlafen) ->
Differenzen in der Nacht in die Ferne in einen temporären Ordner übertragen (Wieder auf System Festplatte, Festplattenpool schläft weiter)
Aus den Differenzen die Daten abgleichen (Festplattenpool wird in der Ferne aufgeweckt).
Alle komplett abgeglichenen Dateien aus beiden Temp Ordnern löschen.

Was ich brauche ist also eigentlich nur ein sehr großer Schreib/Lesecache!

Das Schreiben aus einem Tempordner mit Robocopy wäre kein Problem, nur das Erstellen eines Tempordners der NUR die Änderungen beinhaltet stelle ich mir schwer vor.

Falls der Temp Ordner immer voller wird (Internetverbindung zu langsam), muss ich diesen Ordner per externer Festplatte vorbeibringen.

@ Windowssynchronisation
Die Einrichtung sieht genial einfach aus, nur werden die Daten lokal "irgendwo" gespeichert und mir scheint darauf lässt sich wenig Einfluss nehmen?
Handelt es sich denn zumindest bei den lokal gespeicherten Daten um einen Vollständigen Dateibauem oder ein Archivformat?
 
Zuletzt bearbeitet:
Die Synchronisation synchronisiert z.b. Netzwerkfreigaben auf deinen PC vom Server um sie offline verfügbar zu haben. Ob das in beide Richtungen geht kann ich dir leider nicht sagen
 
Du willst das quasi so machen:

DATEN LOKAL -> vergleichen mit DATEN ENTFERNT -> geänderte/neue Dateien kopieren nach DATEN LOKAL TEMP

?

Das geht mit Robocopy-Hausmittel soweit ich weiss nicht.
XXCOPY ist ziemlich "mächtig" - evtl. kannst du dir damit was basteln: XXCOPY Command Parameters Reference

E: http://serverfault.com/questions/50...ories-and-copy-differences-in-a-3rd-directory RSYNC kann sowas. Sollts auch für Windows geben, wurde von der c't vor Jahren mal als Backupscript genutzt - evtl. findest du dort auch noch mehr Infos
 
Zuletzt bearbeitet:
Naja mit cygwin kannst du fast jedes Linux Kommando unter Windows nutzen...
 
@Stefan, ich muss gestehen dein Problem irgendwie nicht nachvollziehen zu können.
Es ist eigentlich vollkommen wurscht, ob du da nun zwischen bunkerst oder nicht. Das wird unterm Strich den Kohl nicht fett machen... Selbst wenn du da ein paar Watt wärend der reinen Kopierzeit sparst (weil der Storagepool sowohl auf dem Ziel als auch der Quelle schläft) rentiert sich das wohl so gar nicht...
Zumal das alles eine Frage der Datenmenge ist, die da übertragen wird. Und vor allem, wie hoch die absolute Durchsatzbandbreite von Client lokal zu extern Server ausfällt.
Das scannen selbst sollte auch bei 2TB recht fix gehen. Kommt halt drauf an, um was es sich dort handelt. Riesige Imagefiles, dafür weniger an der Zahl werden bei üblicher quick check Manier deutlich schneller gescannt als kleinst Files im unteren KB Bereich (dafür dann hunderttausende)


Wenn du das wirklich so machen willst, kommst du wohl um ne Selbstbaulösung nicht drum rum. Ob nun Script oder eigenes Programm, ist wohl egal...
Ich kenne quasi auch kein Syncronisierungstool, was einen derartigen Weg geht :wink: weil es oftmals wenig Sinn macht, die Files noch über fünf Ecken umzukopieren.
Könnte mir aber vorstellen, das man durchaus sowas bauen kann. Robocopy bietet meine ich auch ne Art Simluationsmodus, was dann am Ende ne Ausgabe ausspuckt, sprich was würde man kopieren oder ändern/löschen beim Ziel. Diese Ausgabe kann man dann mit simplen Filetransfer über welches Tool auch immer auswerten und so die lokale Kopie erstellen -> diese kann dann übers WAN kopiert werden und am Ende wieder direkt in den Zielordner auf dem Storagepool geschoben werden.
 
Du willst den Strom sparen, den die Platten während der Übertragungszeit verbrauchen?
Was meinst Du denn, was Du dadurch sparst? 50W pro Nacht? Also irgendwas bei weniger als 2ct?

Das wäre es mir jetzt nicht wert, so einen Aufstand zu machen.

Als Programm würde ich als erstes SyncBack ausprobieren.
 
Ich glaube er hat das Problem selbst noch nicht ganz verstanden:
Die Sicherungen sollen übrigens nur "oneway" sein, d.h. an den Daten auf der anderen Seite wird nicht gearbeitet. Es handelt sich also lediglich um eine Sicherung außerhalb des Hauses.
Nach Änderungen lokal und in der Ferne scannen
Wozu? In der Ferne wird doch nichts geändert? Warum muss da nach Änderungen gesucht werden?
Nach Änderungen lokal und in der Ferne scannen (Alle Festplatten im Betrieb)->
Differenzen lokal temporär zwischenspeichern (Auf System SSD, Festplattenpool geht schlafen) ->
Differenzen in der Nacht in die Ferne in einen temporären Ordner übertragen (Wieder auf System Festplatte, Festplattenpool schläft weiter)
Aus den Differenzen die Daten abgleichen (Festplattenpool wird in der Ferne aufgeweckt).
Alle komplett abgeglichenen Dateien aus beiden Temp Ordnern löschen.
Man kann einfache Probleme sicher auch auf sehr komplizierte Art und Weise lösen...
 
Ich empfehle Bittorrent Sync oder Crashplan. Letzteres lässt sich individueller konfigurieren.

Gruß
 
Ich glaube er hat das Problem selbst noch nicht ganz verstanden:


Wozu? In der Ferne wird doch nichts geändert? Warum muss da nach Änderungen gesucht werden?

Man kann einfache Probleme sicher auch auf sehr komplizierte Art und Weise lösen...

Ja darin habe ich mich falsch ausgedrückt, es geht natürlich darum zu scannen, ob sich Lokal irgendwelche Daten im Vergleich zur fernen kopie verändert haben.
Mit dem Stromverbrauch habt ihr natürlich recht: Es lohnt sich nicht stundenlang damit zu beschäftigen um in der Zukunft ein paar kWh an Strom zu sparen!

Meine Herangehensweise wird wie folgt sein:

1. Mit Robocopy mir einen Job erstellen und probieren wie gut die Synchronisation funktioniert und ob die Internetbandbreite dafür ausreicht
2. Mir dann Gedanken über das Stromsparen machen und Robocopy mit anderen Tools kombinieren, sodass es meinen Anforderungen entspricht

Vielleicht lässt sich das Kopieren der Daten auch mit einem Vierenscann/Festplattenscann zur gleichen Zeit kombinieren, dann haben die wenigstens etwas Sinnvolles zu tun!

Es sind ganz schön viele Antworten bisher zusammengekommen, vielen Dank dafür!
Ich werde probieren das Script für Punkt 1 über Weihnachten zu erarbeiten und meine Ergebnisse dann präsentieren (oder wohl eher, noch ein paar Fragen stellen :fresse:)
 
Zuletzt bearbeitet:
ob sich Lokal irgendwelche Daten im Vergleich zur fernen kopie verändert haben.

Die ferne Kopie ist schnurz, das wird lokal über das Archiv Attribut gehandelt. Im Grunde wirst du einmal ein Fullbackup mit dem Script fahren und danach nur noch inkrementell.
... alles unter der mehrfach angesprochenen Bedingung dass im Zielordner/auf dem Server nicht gearbeitet wird.

Beispiel, kannst ja als Basis missbrauchen:
@ECHO OFF
echo Starte Sicherung...
set Quelle01="C:\Siemens\Maschinen"
set Ziel01="\\172.20.100.175\h253\Siemens\Maschinen"
set Quelle02="C:\Siemens\Opus"
set Ziel02="\\172.20.100.175\h253\Siemens\Opus"
set Quelle03="C:\Logfiles"
set Ziel03="\\172.20.100.175\h253\Siemens\Logfiles"
set Logfile="C:\Logfiles\robo_log.txt"
robocopy %Quelle01% %Ziel01% /E /M /COPY:dAT /LOG:%Logfile% /R:10 /W:30 /NP > NUL
robocopy %Quelle02% %Ziel02% /E /M /COPY:dAT /LOG:%Logfile% /R:10 /W:30 /NP > NUL
robocopy %Quelle03% %Ziel03% /E /M /COPY:dAT /LOG+:%Logfile% /R:10 /W:30 /NP > NUL
echo.
echo Sicherung abgeschlossen.
echo.
pause

Parameter kann man u.a. hier nachlesen Robocopy
 
Du willst das quasi so machen:

DATEN LOKAL -> vergleichen mit DATEN ENTFERNT -> geänderte/neue Dateien kopieren nach DATEN LOKAL TEMP
?
Das geht mit Robocopy-Hausmittel soweit ich weiss nicht.

Ist aber eigentlich auch nicht nötig.
Robocopy kopiert ja eh nur die geänderten/neuen Dateien, warum sollte man also diese nochmal auslagern?

robocopy /mir /z löst das Problem, denke ich.

Klont dir Verzeichnisse inkrementell rüber (also überspringt bereits vorhandene und nicht geänderte Dateien). Selbst löschen im Remote Verzeichnis machts automatisch.
Bedenke aber, das du so auch versehentlich (im Quellverzeichnis) gelöschte Daten im Remote Verzichnis ebenfalls wegschmeisst ;)

Nützlicher Link:
Heise: Backup mit Robocopy
 
Zuletzt bearbeitet:
Und wenn sich viele Dateien ändern statt das viele neue hinzuzukommen, würde ich mir noch rSync anschauen, dann müssen nicht immer die kompletten Dateien übertragen werden.
 
Ich habe mich ja länger nicht gemeldet und habe demnächst nochmal etwas Zeit mich dahinterzuklemmen.
Aktuell ist leider auch die Fritzbox der limitierende Faktor!
Leider kann jene den Upload nur zu 1/4 ausnutzen, bevor die CPU der Fritte komplett dicht macht.
Nun weiß ich allerdings nicht, ob es an der 7240 oder meiner 6360 liegt.
Eine ähnlich komfortable Lösung des verschlüsselten datenaustausches wird es wohlmöglich nicht geben?
 
Zuletzt bearbeitet:
Verschlüsselter Datenaustausch im Sinne eines SSH-Tunnels oder willst Du verschlüsselte Dateien auf dem Ziel speichern?
 
Die CPU Auslastung kannst du dir in der Fritzbox anschauen. Um wie vile Bandbreite gehts denn da überhaupt?

Ansonsten besteht die Möglichkeit das VPN auf dem quell und zielrechner abzuwickeln? Stichwort openVPN oder der gleichen.
 
Die CPU der Fritten ist der Engpass, zum Verschlüsseln mit hohem Durchsatz ist die nicht ausgelegt. Wenn Du da was verbessern willst baue ein VPN z.B. mit OpenVPN zwischen den beiden Rechnern die hinter den Fritzboxen stehen auf, dann läuft die Verschlüsselung auf deren CPUs und die Fritten übertragen nur.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh