Auch wenn ich das Vorgehen schon oft gesehen habe: Wenn du nicht über ganz abstruse Programme kopierst ist das sinnlos doppelt. Du weißt doch schon von Anfang an, dass die beiden Dateien gleich sind.1. Erstellen der Prüfsumme einer Quelldatei, IM Pfad dieser Quelldatei. in der md5-Datei steht der nackte Dateinamen der Quelldatei
2. Kopieren von Quelldatei+md5-.Datei an einen anderen Ort (OHNE den nackten Namen der Quelldatei zu ändern, es geht um Videos, ich hatte bisher nie das Bedürfnis, den zu ändern)
3. Überprüfen der Integrität der Zieldatei anhand der md5-Summe der Quelldatei AM Zielort. Dafür genügt dann der nackte Quell=Zieldateinamen in der md5-Datei.
Aaaaber da könnte was schief gehen. Ja. Aber es hilft nichts.
Dein Kopieren besteht aus drei Vorgängen:
- Von der platte Lesen
- Übertragen
- Auf die neue Platte schreiben.
- Wenn du schnell nacheinander 2 mal die Datei ließt und wirst du nichts merken weil dir Linux in den aller meisten Fällen den 2. Lesevorgang eh weg optimiert und schlicht das selbe Ergebnis liefert. Wenn hier also ein Fehler passiert, wird er sowohl vor wie nach dem Übertragen passieren.
- Beim Übertragen über IP entstehen so häufig Fehler, dass jedes Übertragungsprotokoll eh nochmal Checksummen einbaut und falsche Teile automatisch korrigiert. Hier können keine Fehler passieren.
- Beim Lesen nach Schreiben gilt das gleiche wie in Punkt 1. Das OS wird dir das weg optimieren und die Daten geben, die du geschrieben hast, statt nochmal auf der Platte nachzulesen.
Wenn du wirklich mehr Sicherheit haben willst führt kein Weg daran vor bei ein Layer tiefer anzusetzen => ECC-RAM und error correcting Filesystems alla btrfs/zfs.
Du kannst das mit dem caching relativ schön ausprobieren. Hier mal als Beispil:
Code: Alles auswählen
$ time md5sum /media/data/Film/bbb_sunflower_1080p_60fps_normal.mp4
> 7a7bc8ae38ccbd700e07977a9deb8cb7 /media/data/Film/bbb_sunflower_1080p_60fps_normal.mp4
> real 0m3.565s
$ time md5sum /media/data/Film/bbb_sunflower_1080p_60fps_normal.mp4
> 7a7bc8ae38ccbd700e07977a9deb8cb7 /media/data/Film/bbb_sunflower_1080p_60fps_normal.mp4
> real 0m0.750s
Entsprechend wird mein Kommando fast immer das selbe Ergebnis liefern wie deine Tests.