Wenn der Befehl erfolgreich beendet wurde, ist die Sicherung korrekt, mit Ausnahme eines Hardwarefehlers (der sich auch auf die von Ihnen durchgeführte Überprüfung auswirken kann). Es kann später falsch werden, wenn die Hardware fehlerhaft ist, aber die meisten Speicherhardware erkennt Beschädigungen.
Hier gibt es eine Einschränkung: In einer Pipeline meldet die Shell keine Fehler von der linken Seite. (Dies liegt an einem ziemlich häufigen Szenario, in dem die rechte Seite nicht alle Daten lesen muss, z. B. some_command | head
und die linke Seite stirbt, weil ihre Ausgabe nicht mehr gewünscht wird.) Hier also ein Lesefehler von dd
würde ignoriert werden. Legen Sie in bash die pipefail
Option fest, Fehler aus allen Teilen der Pipeline zu melden.
Achten Sie auch darauf, dass dd bs=…
einige Fehler ignoriert werden und dd
häufig langsamer als bei Alternativen sind . Ich empfehle, überhaupt nicht zu verwenden dd
: Es hat keine Vorteile, nur eine ganze Datei zu kopieren. Im Gegensatz zu dem, was Sie vielleicht irgendwo gelesen haben, dd
handelt es sich nicht um einen einfachen Festplattenzugriffsbefehl mit speziellen Eigenschaften, es ist absolut keine Magie in dd
, die Magie ist in /dev/hda
.
shopt -s pipefail
set -e
</dev/hda buffer -s 64k -S 10m | ssh myuser@myhost "cat > ~/image.img"
Wenn Sie jedoch die Sicherung überprüfen möchten, ist es am besten, auf jeder Seite eine kryptografische Prüfsumme zu erstellen und diese zu vergleichen. Beispielsweise:
ssh myuser@myhost "sha1sum image.img" &
sudo sha1sum /dev/hda
Überprüfen Sie, ob die beiden Prüfsummen identisch sind.
Beachten Sie, dass hierdurch geprüft wird, ob das Backup und das Original zum Zeitpunkt der Überprüfung identisch sind. Alles, was Sie ändern /dev/hda
, einschließlich des Ein- und Aushängens eines Dateisystems, auch ohne Änderungen vorzunehmen (wodurch bei vielen Dateisystemen das Datum der letzten Bereitstellung aktualisiert wird), ändert die Prüfsumme. Wenn Sie die Integrität später überprüfen möchten, notieren Sie sich die Prüfsumme der Festplatte zum Zeitpunkt der Sicherung irgendwo.