Programm für Datenabgleich von Verzeichnissen (Transport, Datensicherung)

(DE) Anwendungen für Office, Multimedia und Spiele, Werkzeuge, Hilfsprogramme, etc
(EN) Applications for Office, Multimedia or Games, Tools, Utilities, e.g.
Antworten
Martin Vieregg
Beiträge: 459
Registriert: Di 19. Aug 2014, 09:30

Programm für Datenabgleich von Verzeichnissen (Transport, Datensicherung)

Beitrag von Martin Vieregg »

Gibt es ein Kommandozeilenprogramm, das Verzeichnisse und Verzeichnisbäume auf zwei Laufwerken abgleicht? Also wechselseitig die jeweils neuesten Dateien kopiert und dabei schaut, welche der zwei Dateiversionen neuer ist, und dabei keine Dateien kopiert, die nicht geändert sind? Gibt es das jeweilige Programm auch unter Windows?
Benutzeravatar
ak120
Beiträge: 1044
Registriert: Do 8. Mai 2014, 12:50
Wohnort: Demmin
Kontaktdaten:

Beitrag von ak120 »

Bei Verwendung des entsprechenden Replikationsdienstes unter OS/2 sollte beachtet werden, daß eine Kompatiblität ab Windows 2000 Server nicht mehr gegeben ist. Entweder man nutzt die entsprechende Stapelverarbeitungsdatei aus dem Resource Kit zur Überbrückung oder greift gleich auf Programme von Drittanbietern zurück. SCCS und Co. sollten auch eine Versionsverwaltung in verteilten Umgebungen ermöglichen.
Andi B.
Beiträge: 742
Registriert: Di 24. Dez 2013, 16:40
Kontaktdaten:

Beitrag von Andi B. »

Sollte mit zweimal copy /u /s /... und Quelle Ziel vertauscht von 4os2 genau das machen. rsync kann dass sicher auch, aber da kenn ich die Syntax nicht.
Benutzeravatar
Frank Wochatz
Beiträge: 1112
Registriert: So 22. Dez 2013, 22:04
Wohnort: Berlin
Kontaktdaten:

Beitrag von Frank Wochatz »

Ohne Windows / nur OS2: Ich mache das mit
dsync17.zip
(30.96 KiB) 98-mal heruntergeladen
. Es geht in eine Richtung. Für die andere Richtung würde man eine weitere dsync Umgebung bzw. Konfiguration mit entsprechend umgekehrten Pfadangaben benötigen.

Zu beachten ist: es löscht keine Dateien, d.h. wenn du im Quellverzeichnis eine Datei löschst, und dann dieses Verzeichnis mit einer früheren Spiegelung abgleichst (also das Spiegelbild aktualisierst), enthält die Spiegelung weiterhin die im Quellpfad gelöschte Datei. Veränderte Dateien werden aber natürlich überschrieben.
Zuletzt geändert von Frank Wochatz am Di 13. Mär 2018, 18:25, insgesamt 1-mal geändert.
Benutzeravatar
ak120
Beiträge: 1044
Registriert: Do 8. Mai 2014, 12:50
Wohnort: Demmin
Kontaktdaten:

Beitrag von ak120 »

Hinweise zur Verwendung des Replicator-Dienstes finden sich im "OS/2 Warp LAN Requester Benutzerhandbuch" unter dem Abschnitt "Dateien nachbilden". Die Benutzeranmeldung und der gestartete Dienst erfordern keine zusätzliche Programminstallationen. Die Einstellungen für Integrität und Intervalle sind entsprechend den Anforderungen anzupassen.

Das läßt sich auch lokal mit den Peer-Diensten nutzen. Wenn in der ursprünglichen Frage mit "wechselseitig" eventuell auch "bidirektional" gemeint gewesen sein könnte, sei noch der Dienst "bisync", welcher auf Hobbes zu finden ist, genannt. Das Prinzip ist ähnlich, ebenfalls über entsprechende IBMLAN.INI-Einträge.
Martin Vieregg
Beiträge: 459
Registriert: Di 19. Aug 2014, 09:30

Beitrag von Martin Vieregg »

Danke für Eure Kommentare, Gedanken und Empfehlungen. Mir ist jetzt klar geworden, dass es zwei ganz verschiedene logische Ansätze gibt: eine Backupfunktion, die in eine Richtung geht (von Original nach Kopie), wobei man dann auch Dateien im Backup löschen könnte, und dann ein gegenseitiges Aktualisieren in beide Richtungen. Kritisch wird es dann, wenn man eine Datei z. B. auf dem Transportstick und auf der Platte parallel geändert hat. Dann würde die Datei mit dem neueren Datum die mit dem älteren überschreiben. Optional könnte man statt dem Überschreiben noch ältere Versionen als Backups (z. B. *.001, *.002) stehenlassen und umbenennen, zumindest bei kleineren Dateien bis zu einer bestimmten Dateigröße. Einen Vergleich der Dateiinhalte würde ich nicht für erforderlich halten, sondern mich ganz am Datum orientieren.

Ich bin Autor des do.exe Kommandozeilenprogramms. Ich werde das Programm entsprechend erweitern, das mache ich immer wieder einmal (ist noch gar nicht alles veröffentlicht). Eine Menge Code habe ich ja im Prinzip für die Aufgabe schon, und das Programm wird es weiterhin für OS/2 und Windows (und eigentlich auch Linux) geben. Ihr könnt mir hier gerne Eure Kommentare schreiben, auf was ich noch achten sollte. Ich werde nicht allzuviel Parameter vorsehen.
Andi B.
Beiträge: 742
Registriert: Di 24. Dez 2013, 16:40
Kontaktdaten:

Beitrag von Andi B. »

...dass es zwei ganz verschiedene logische Ansätze gibt: eine Backupfunktion, die in eine Richtung geht (von Original nach Kopie), wobei man dann auch Dateien im Backup löschen könnte, und dann ein gegenseitiges Aktualisieren in beide Richtungen. Kritisch wird es dann, wenn man eine Datei z. B. auf dem Transportstick und auf der Platte parallel geändert hat. Dann würde die Datei mit dem neueren Datum die mit dem älteren überschreiben...
Ja und da kann es passieren, dass man eine Datei wissentlich/unwissentlich/leichtfertig/durch Dummheit/... zerstört und nach dem nächsten Lauf ist dann die Kopie auch hin. Darum mach ich auch einen Teil meiner Backups mit LuckyBackup (rsync) mit bis zu 10 Sicherungskopien. Zusätzlich zu den täglich inkrementellen mit 'rar'.

Wenn ich 'Konfliktbewältigung' haben will, dann mit smartsync. Kdiff3 könnte dafür auch elegant sein.
Martin Vieregg
Beiträge: 459
Registriert: Di 19. Aug 2014, 09:30

Beitrag von Martin Vieregg »

Ich denke einfach mal laut - "Konfliktbewältigung": Ich habe ein Verzeichnis auf der Festplatte und eines auf dem Transportstick oder anderem Computer. Ein Konflikt entsteht dann, wenn man dummerweise eine Datei sowohl auf der Festplatte als auch auf dem Stick aktualisiert. In diesem Falle darf keine der Dateien überschrieben werden. Also müßte nach jedem Abgleich der aktuelle Stand der Dateien in eine Textdatei pro Verzeichnis geschrieben werden, und zwar einfach Dateiname und Schreibdatum (volle Genauigkeit mit Sekunden). Es gibt dann vier Datumsangaben zu vergleichen:

(1) Datum in der Protokolldatei Festplatte
(2) Datum in der Protokolldatei Stick
(3) Datum der Datei auf der Festplatte
(4) Datum der Datei auf dem Stick.

(1) und (2) sollte immer identisch sein, sonst ist etwas schiefgelaufen und es sollte gar nichts überschrieben werden.

Wenn nun (3) neuer ist als (1), d.h. die Datei auf Festplatte wurde seit dem letzten Abgleich aktualisiert, und (2) und (4) jeweils identisch ist (auf dem Stick hat sich nichts getan), dann kann die Datei auf dem Stick von der neueren Datei auf der Festplatte auf dem Stick überschrieben werden. Umgekehrt ist die Logik dann genauso, also (4) neuer als (2), und (1) und (3) identisch.

Wenn seitdem sowohl auf dem Stick als auch auf der Festplatte aktualisiert wurde, also (3)>(1) und (4)>(2), dann besteht ein Konflikt, der besonders behandelt werden muss. Also auf Stick und Festplatte wird z.B. ein Unterverzeichnis angelegt und dort die jeweils andere Datei abgespeichert, oder mit einer anderen Dateiendung.

Zu überlegen wäre noch, wie man genau bei Konflikten verfährt, evtl. mit wählbaren Optionen.
Was meint ihr, stimmt meine Logik?
Benutzeravatar
Frank Wochatz
Beiträge: 1112
Registriert: So 22. Dez 2013, 22:04
Wohnort: Berlin
Kontaktdaten:

Beitrag von Frank Wochatz »

Meiner Ansicht nach ist das zu kompliziert, und zwei versch. Dateien will man ja grundsätzlich vermeiden, oder willst du die dann am Ende wieder zusammen basteln?

Dateien, die von mehren Rechnern aus bearbeitet werden, würde ich eher direkt von dem Transportmedium (oder besser ev. von einem Webspace) öffnen und im Anchluß direkt wieder dahin speichern. Eine Alternative wäre sonst noch, wenn es nur eine Person ist die an den Dateien arbeitet (zB. Büro und zuhause), wenn man immer die Dateien synchronisiert und das nie vergisst, damit das Problem garnicht erst auftritt.

Ohne dich bremsen zu wollen - ich weiß auch nicht ob sich lohnt so etwas neu zu entwickeln, Sync Tools gibt es tatsächlich wie Sand am Meer und Boardmittel gehen wie schon genannt auch. Ich verwende dsync weil es sich 20 Jahre bewährt hat, weil es gute Logs schreibt und weil man die Prozessorlast regulieren kann, was ich in einem Multitaskingbetrieb ganz schick finde.
Zuletzt geändert von Frank Wochatz am Do 15. Mär 2018, 08:02, insgesamt 1-mal geändert.
Martin Vieregg
Beiträge: 459
Registriert: Di 19. Aug 2014, 09:30

Beitrag von Martin Vieregg »

Es wäre keine komplette Neuentwicklung, sondern nur eine Ergänzung eines eh vorhandenen Tools. Der Aufwand würde sich sehr in Grenzen halten, und ich könnte es genau so gestalten, wie ich es gerne hätte.
Antworten