Si el comando finalizó con éxito, la copia de seguridad es correcta, salvo un error de hardware (que podría afectar igualmente cualquier verificación que pueda realizar). Más tarde puede volverse incorrecto si el hardware es defectuoso, pero la mayoría del hardware de almacenamiento detecta daños.
Aquí hay una advertencia: en una tubería, el shell no informa errores desde el lado izquierdo. (Esto se debe a un escenario bastante común en el que el lado derecho no necesita leer todos los datos, por ejemplo some_command | head
, y los troqueles lado izquierdo debido a su producción ya no quería.) Así que aquí un error de lectura de dd
Would ser ignorado. En bash, configure la pipefail
opción para informar errores de todas las partes de la tubería.
Además, tenga en cuenta que dd bs=…
ignora algunos errores y dd
suele ser más lento que las alternativas . Recomiendo no usarlo dd
en absoluto: no tiene beneficios simplemente copiar un archivo completo. Al contrario de lo que podría haber leído en alguna parte, dd
no es un comando de acceso al disco de bajo nivel con propiedades especiales, no hay absolutamente ninguna magia dd
, la magia está dentro /dev/hda
.
shopt -s pipefail
set -e
</dev/hda buffer -s 64k -S 10m | ssh myuser@myhost "cat > ~/image.img"
Sin embargo, si desea verificar la copia de seguridad, la mejor manera es tomar una suma de verificación criptográfica en cada lado y compararlos. Por ejemplo:
ssh myuser@myhost "sha1sum image.img" &
sudo sha1sum /dev/hda
Verifique que las dos sumas de verificación sean idénticas.
Tenga en cuenta que esto prueba si la copia de seguridad y el original son idénticos en el momento de la verificación. Cualquier cosa que cambie /dev/hda
, incluido el montaje y desmontaje de un sistema de archivos, incluso sin realizar ningún cambio (que actualizará una última fecha de montaje en muchos sistemas de archivos), cambiará la suma de comprobación. Si desea verificar la integridad más adelante, anote la suma de comprobación del disco en el momento de la copia de seguridad en algún lugar.