Windiff funktioniert nicht 100%

H

Heinrich

Gast
Hi
Ich habe mir mittels xcopy und Windiff ein kleines Backup-Programm geschrieben, welches ein inkrementelles Backup meiner Daten auf einer Netzwerkfestplatte macht. Anschließend werden die Dateien mit Windiff verglichen und alles wird in eine Protokoll-Datei geschrieben.
Das Ganze funktioniert soweit ziemlich gut, bis auf einen kleinen Fehler:
Wenn ich auf meiner Festplatte eine Datei öffne, aber nichts daran verändere, sie also einfach wieder schließe, wird diese trotzdem inkrementell gesichert. Daran habe ich nichts auszusetzen, Windiff meint dann jedoch, dass die Datei auf der Netzwerkfestplatte neuer ist als die Datei auf meiner Festplatte.

Zur Verdeutlichung:

Datei X wird am 1.1.2007 erstellt.
Am 2.2. mache ich ein erstes Voll-Backup meiner Daten auf der Netzwerkfestplatte. Das Erstell- und "Letzte-Änderungs"-Datum auf der Netzwerkfestplatte ist somit der 2.2.
Am 3.3. schaue ich mir die Datei auf meiner Festplatte das nächste mal an, ändere aber nichts daran und speicher sie auch nicht neu. Daher ist das Änderungsdatum immer noch der 1.1.
Nun mache ich wieder ein inkrementelles Backup, woraufhin Windiff eine Meldung ausgibt, dass die Datei X auf der Netzwerkfestplatte neuer ist als die Datei X auf meiner Festplatte.

Wie kann ich das umgehen? Alle anderen Dateien auf der Netzwerkfestplatte, die ja eigentlich auch "neuer" sind als die auf meiner Festplatte werden nicht beanstandet.

Danke

Mfg, Heinrich
 
Dann arbeitest du am besten mit Prüfsummen. Die lassen sich wunderbar in 'ner Textdatei protokollieren und dann vergleichen.
 
Hi
Ähm, ich kenn mich nicht wirklich aus mit Programmieren, das Backup-Programm ist das erste was ich selbst geschrieben habe.
Wie arbeite ih denn mit Prüfsummen?
Danke für die schnelle Antwort! :)

Am liebsten wäre es mir natürlich, wenn ich weiter mit Windiff arbeiten könnte. Ich überlege auch, kein inkrementelles Backup mehr zu erstellen sondern immer ein Vollbackup. Dann kann ich eigentlich fast sicher gehen, dass immer alle Dateien kopiert werden. Das erfordert eben mehr Rechenleistung und dauert länger :/

Mfg, Heinrich
 
Ich würd's so angehen:
1. Besorg dir die sha1sum.exe von Sourceforge. Damit lassen sich Prüfsummen berechnen, die praktisch den Dateiinhalt in einer Zeichenfolge festhalten.
2. Wenn du genug Speicherplatz zur Verfügung hast (wovon ich mal ausgehe, wenn ein Vollbackup kein Problem ist. Du wirst ja damit hoffentlich nicht immer gleich das letzte Backup überschreiben...), dann leg dir doch 'ne Versionenübersicht an. Ich stell mir das so vor: Datei A soll gesichert werden. Schon auf Netzlaufwerk vorhanden? Nein -> Kopieren + Prüfsumme von A berechnen. Ja -> Prüfsumme berechnen, Dateiname mit Zeitstempel versehen und auch kopieren. Damit hast du unterschiedliche Dateinamen und somit können die unterschiedlichen Versionen einer Datei praktisch in einem Verzeichnis zusammengefasst werden.
3. Die Prüfsummen schön in 'ner Protokolldatei anhängen mit Zeitpunkt des Backups und du hast ne prima Übersicht.
 
Mal ne Frage.. hast du so viel Daten, dass ein inkrementelles Backup wirklich Sinn macht? Ich bevorzuge vollständige Backups, das spart zwar kein Platz, aber ich bekomm sowieso alles auf 2 DVDs. Damit gehts schneller beim Wiederherstellen der Daten und man braucht auch keine komplexen Tools (Hashtools, Backupprogramme). Ich verwende nur 2 Batchfiles (eins pro DVD) mit Excludefiles für xcopy.

Die Sache mit Windiff ist ja eine nette Spielerei, aber wenn es mit dem Änderungsdatum nicht zurecht kommt würd ich mich nicht weiter damit herumplagen :freak:
 
Zuletzt bearbeitet von einem Moderator:
Hi
Ok ich seh schon, die Sache mit Windiff haut dann nicht ganz hin. Schade, hat ne Zeit gedauert bis ich das optimal in meine Batch-File drin hatte, aber mei ... ;)

Also eigentlich überschreibe ich schon bei jedem Backup das alte Backup. Ich habe mir aber auch schon seit längerem überlegt, dass ich ein ein Vollbackup 1 mache auf Z:\, dann danach gleich ein weiteres Vollbackup 2 auf dem dann eine Woche lang inkrementell gesichert wird. Dann wird wieder ein Vollbackup gemacht, wobei da dann Vollbackup 1 gelöscht und neu geschrieben wird. Dann wird Vollbackup 2 wieder inkrementell gesichert und so weiter ...

Insgesamt habe ich schon viele Daten (ca. 15GB über 10000 Dateien), sodass ein inkrementelles Backup auf jeden Fall Sinn macht.

Ich werde mir sha1sum mal ansehen und ich hoffe, dass ich das dann in meine Batch-Datei irgendwie einfügen kann. Die besteht übrigens im Endeffekt auch nur aus dem xcopy Befehl, nur eben noch etwas komplexer.

Vielen Dank schon mal für eure schnellen Antworten ! :) Ist echt super, wie hier einem geholfen wird.

Mfg, Heinrich

Edit: @moagnus: Deine Idee ist ganz sinnvoll mit deinem Backup, wäre mir aber im Endeffekt zu unübersichtlich. Ich möchte am besten ein 1:1 Abbild von meinen Daten auf der Festplatte. Falls dann Datei x.doc 5mal vorhanden ist, weil ich sie tagtäglich verändere, wird mir das zu unübersichtlich. Vor allem wird die Backup-Software mal in nem kleinen Büro eingesetzt und die Menschen, die dort arbeiten haben nicht all zu viel Ahnung vom PC, das ganze sollte für diese also möglichst einfach gehalten werden.
 
Zuletzt bearbeitet: (Ergänzung)
Das, was ich oben vorgeschlagen hab, ist ja ein verfeinertes Vollbackup. Der einzige Unterschied besteht darin, dass Dateien, die sich seit dem letzten Backup nicht geändert haben, nicht noch einmal gesichert werden und Speicherplatz verschwenden dürfen.

Außerdem braucht man vllt. 'ne Viertelstunde, um das ganze umzusetzen. Wirklich komplex isses also nicht ;)
 
Hi
Nee komplex in dem Sinne, dass die Ordnerstruktur auf dem Ziel-Datenträger nicht die selbe ist wie auf dem Quell-Datenträger.
Ich meine, angenommen ich änder eben Datei X.doc jeden Tag, dann wird doch innerhalb einer Woche die Datei x.Doc 7 mal abgespeichert z.B. als Datei X001, X002, X003 etc., oder? Vielleicht habe ich deine Lösung auch einfach missverstanden ;)

Mfg, Heinrich
 
Hi
So, ich hab mir jetzt mal ein Prüfsummentool heruntergeladen nur um zu testen ob dieses denn dann meinen Zweck erfüllen würde. Tut es aber nicht.
Das Programm heißt "CDCheck" und ist sehr einfach zu bedienen. Bei dem Vergleich zweier Ordner erstellt es eben Prüfsummen und bedient sich derer um zu überprüfen ob beide Ordner identisch sind.
Falls ich jetzt Ordner 1 auf D:\ mit Ordner 1 auf Z:\ vergleiche gibt es keinen Fehler.
Jetzt schaue ich mir Datei X.doc auf D:\ nur an, verändere nichts und speichere daher auch nicht (es wird auch nicht gefragt, ob ich speichern möchte).
Danach überprüfe ich wieder beide Ordner was zu einer Fehlermeldung führt: Die Datei X.doc auf D:\ stimmt nur noch mit 99% mit der Datei auf Z:\ überein. Das Änderungsdatum ist bei beiden gleich, der Inhalt natürlich auch. Das bloße Anschauen hat wohl schon die Prüfsumme leicht verändert, was zu einer Fehlermeldung führt.

Das grundsätzliche Problem liegt wohl darin, dass bei meinem Backup mit xcopy alle Dateien kopiert werden müssen, die auch nur angeschaut wurden. Mit der Option /m ist das wohl nicht möglich, da kein neues Attribut gesetzt wird, oder? Kann man das irgendwie so einstellen, dass Dateien ein neues Attribut gesetzt bekommen, auch wenn sie nur angeschaut werden?

Danke

Mfg, Heinrich
 
Hätte Dateinamen wie "X_(21.10.2007, 13:34).doc" vorgeschlagen. Das Datum kann man ja bei der Wiederherstellung wieder aus dem Dateinamen entfernen. Oder man gibt den Verzeichnissen das Datum in den Ordnernamen mit und legt dann einfach nur "X.doc" dadrin ab.

Wenn die Strukturen gewahrt werden sollen, würde sich evtl. auch ein Plattenabbild mittels "dd" anbieten. Das ist auch auf Windows portiert und sollte auf Sourceforge zu finden sein.
 
Also mit sha1sum hab ich diese Probleme nicht. Und das lässt sich übrigens auch ganz einfach bedienen: "sha1sum dat1.txt" gibt die Checksumme aus.

Sorry, Doppelpost...

Edit: Ansonsten wäre evtl. auch "tar" interessant. Damit funktionieren auch inkrementelle Backups, indem du beim ersten Vollbackup die Option 'g' verwendest. Damit wird eine Datei mit Metadaten über die gesicherten Dateien geschrieben (wie Datum etc.). Der Vorteil hierbei ist, dass man einstellen kann, dass tar bspw. nur alle Dateien sichern soll, die neuer als 5 Tage sind.
 
Zuletzt bearbeitet:
Hi
Hmmm also ich überlege mir das dann nochmal mit den verschiedenen Dateinamen.
Ich hab dann sha1sum gar nicht mehr ausprobiert, weil ich dachte dass die Programme im Endeffekt eh alle gleich funktionieren. Aber dann werd ich sha1sum heut gleich mal noch checken und hoffen, dass das dann so geht wie ich denke :) Wäre echt super :)

Mfg, Heinrich
 
Hi
Habe Sha1sum nun ausprobiert. Leider funktioniert das auch nicht in der gewünschten Weise in der ich mir das vorstelle.
Ich habe sha1sum.exe Dateiname.xls in den Dos-Prompt eingegeben. Daraufhin erscheint eine Prüfsumme. Beim darauffolgenden Öffnen und Schließen der Datei (ohne was zu verändern und folglich auch ohne neu zu speichern) und dem darauf folgenden erneuten Prüfen mit sha1sum ergibt sich eine andere Prüfsumme. Sprich sha1sum denkt, die Dateien sind nicht zu 100% identisch.

Ich habe mich bei Windiff weiter umgeschaut und evtl. die Möglichkeit gefunden, nur Fehlermeldungen auszugeben, wenn Dateien auf dem Quell-Datenträger fehlen. Falls zwei gleiche Dateien vorhanden sind aber das Änderungsdatum nicht übereinstimmt, wird keine Meldung ausgegeben.

Die Wahrscheinlichkeit, dass bei einem Backup die Datei nicht 100% vollständig kopiert werden (zu 95% sind das eh nur kleine Office-Dokumente) ist eher gering, von daher werde ich dieses Risiko wohl eingehen müssen. Jede Woche werde ich wohl sowieso ein Vollbackup machen (wie oben beschrieben). Dieses wird dann nach der "alten" Methode verglichen, sodass dann Fehler fast ausgeschlossen werden.

Mfg, Heinrich
 
Sorry wegen sha1sum, aber hier unter Debian/Linux passiert das nicht. Schade, ich hatte schon angefangen, dir ein Skript nach meinen Vorstellungen zu schreiben. :freaky:
 
Hi
Wow das ist ja nett :) Danke, auch wenns net funktioniert ;)
Ich bin mit meiner Lösung jetzt auch einigermaßen zufrieden, ich denke eine wöchentliche 100%ige Überprüfung und ein tägliches Update mit einer 90%igen Überprüfunge sollte reichen, um die Daten einigermaßen gut gesichert zu haben :)

Mfg, Heinrich

PS: Schön ist, dass man dabei immer wieder was Neues dazu lernt, habe das mit den Prüfsummen z.B. noch nie gehört. Man lernt eben nie aus ... :)
 
Ich hatte sowas mal mit Robo-Copy gemacht, da hatte ich keine solchen Probleme. Solltest Du Dir vlt. mal anschauen!
 
Hi
Hmm Robo-Copy geht aber bei dem Zusatz /m (inkrementelles Backup) genauso vor wie xcopy, nämlich nach den Attributen. Und die werden beim Anschauen einer Datei ohne erneutes Speichern eben nicht erneuert, also kann wohl auch Robo-Copy net viel machen.
Aber bin mit meiner Lösung jetzt auch zufrieden :) Mal sehen wie sie sich in der weiteren Beta-Phase bewährt.

Mfg, Heinrich
 
Zurück
Oben