La pérdida de datos es costosa. Como mínimo, la pérdida de datos críticos tendrá un impacto financiero en empresas de cualquier tamaño. En algunos casos, pueden costarte tu trabajo. He visto casos donde los administradores de sistemas aprendieron esto de la manera más difícil.
Hay varias formas de hacer una copia de seguridad de un sistema Linux, incluyendo rsync y rsnapshot, de las que ya hemos hablado hace un tiempo.
Este artículo te proporciona 6 ejemplos prácticos sobre el uso del comando dd para hacer una copia de seguridad del sistema Linux.
dd es una poderosa utilidad UNIX, que es utilizada por los makefiles del kernel de Linux para crear imágenes de arranque. También se puede utilizar para copiar datos. Solo el superusuario puede ejecutar el comando dd.
Advertencia: Debes tener extremo cuidado cuando usas el comando dd, de lo contrario, si no sabes lo que estás haciendo, ¡perderás tus datos!
Ejemplo 1 – Copia de seguridad de todo el disco duro
Para hacer una copia de seguridad completa de un disco duro en otro disco conectado al mismo sistema, debes ejecutar el comando dd como se muestra a continuación.
En este ejemplo del comando dd, el nombre de dispositivo UNIX del disco duro de origen es /dev/hda, y el nombre del disco duro de destino es /dev/hdb.
# dd if=/dev/sda of=/dev/sdb
- “If” representa el archivo de entrada, y “of” representa el archivo de salida. Entonces la copia exacta de /dev/sda estará disponible en /dev /sdb.
- Si hay algún error, el comando anterior fallará. Si asignas el parámetro “conv = noerror”, continuará copiándose si hay errores de lectura.
- El archivo de entrada y el archivo de salida deben escribirse con mucho cuidado, si escribes el dispositivo de origen en el destino y viceversa, podrías perder todos tus datos.
En la copia del disco duro al disco duro usando el comando dd que se proporciona a continuación, la opción de sincronización te permite copiar todo usando los dispositivos de entrada y salida sincronizados.
# dd if=/dev/sda of=/dev/sdb conv=noerror,sync
Ejemplo 2 – Crear una imagen de un disco duro
En lugar de hacer una copia de seguridad del disco duro, puedes crear un archivo de imagen del disco duro y guardarlo en otros dispositivos de almacenamiento.
Hay muchas ventajas al hacer una copia de seguridad de tus datos en una imagen de disco, una de las cuales es la facilidad de uso.
Este método suele ser más rápido que otros tipos de copias de seguridad, lo que te permite restaurar datos rápidamente después de una catástrofe inesperada.
# dd if=/dev/hda of=~/hdadisk.img
Lo anterior crea la imagen de un disco duro /dev/hda.
Ejemplo 3 – Restaurar usando imagen de disco duro
Para restaurar un disco duro con el archivo de imagen de otro disco duro, debes usar el siguiente ejemplo del comando dd.
# dd if=hdadisk.img of=/dev/hdb
El archivo de imagen hdadisk.img, es la imagen de /dev/hda, por lo que el comando anterior restaurará la imagen de /dev/hda en /dev/hdb.
Ejemplo 4 – Creando una imagen de disquete
Usando el comando dd, puedes crear una copia de la imagen del disquete muy rápidamente.
En el archivo de entrada, debes indicar la ubicación del dispositivo de disquete y, en el archivo de salida, indicar el nombre de tu archivo de imagen de disquete como se muestra a continuación.
# dd if=/dev/fd0 of=myfloppy.img
Ejemplo 5 – Copia de seguridad de una partición
Puedes usar el nombre del dispositivo de una partición en el archivo de entrada, y en la salida puedes especificar tu ruta de destino o archivo de imagen como se muestra en el ejemplo del comando dd a continuación.
# dd if=/dev/hda1 of=~/partition1.img
Ejemplo 6 – Copia de seguridad de CDROM
El comando dd te permite crear un archivo iso desde un archivo fuente. Así que podemos insertar el CD e ingresar el comando dd para crear un archivo iso del contenido un de CD.
# dd if=/dev/cdrom of=tgsservice.iso bs=2048
El comando dd lee un bloque de entrada, lo procesa y lo escribe en un archivo de salida. Puedes especificar el tamaño de bloque para el archivo de entrada y salida.
En el ejemplo anterior del comando dd, el parámetro “bs” especifica el tamaño de bloque para el archivo de entrada y de salida. Entonces, dd usa 2048 bytes como tamaño de bloque en el comando anterior.
Nota: Si el CD se monta automáticamente, antes de crear una imagen ISO con el comando dd, siempre es bueno si desmontas el dispositivo de CD para evitar cualquier acceso innecesario al CD ROM.