Cómo hacer una copia de seguridad o clonar particiones de Linux usando el comando cat


Una utilización aproximada del comando cat de Linux sería hacer una copia de seguridad del disco completo o una copia de seguridad de la partición del disco o la clonación de una partición del disco redirigiendo la salida del comando contra la partición de un disco duro, una memoria USB o un archivo de imagen local o escribir el salida a una toma de red.

Es absolutamente normal que pienses por qué deberíamos usar cat en lugar de dd cuando este último hace el mismo trabajo fácilmente, lo cual es bastante correcto, sin embargo, recientemente me di cuenta de que cat es mucho más rápido que dd cuando se trata de velocidad y rendimiento.

Estoy de acuerdo en que dd proporciona, aún más, opciones y también es muy útil para tratar con copias de seguridad grandes como unidades de cinta (Cómo clonar particiones Linux usando el comando 'dd'), mientras que cat incluye una opción menor y no es necesariamente un reemplazo digno de dd pero aún así, sigue siendo una opción donde sea aplicable.

Créame, hace el trabajo con bastante éxito al copiar el contenido de una partición a una nueva partición sin formato. Los únicos requisitos serían proporcionar una partición de disco duro válida con el tamaño mínimo de los datos existentes y sin ningún sistema de archivos.

En el siguiente ejemplo, la primera partición del primer disco duro, que corresponde a la partición /boot , es decir, /dev/sda1 , se clona en la primera partición del segundo disco. (es decir, /dev/sdb1 ) utilizando el operador de redirección de Linux.

# cat /dev/sda1 > /dev/sdb1

Una vez finalizado el comando, la partición clonada se monta en /mnt y se enumeran ambos directorios de puntos de montaje para comprobar si falta algún archivo.

# mount /dev/sdb1 /mnt
# ls /mnt
# ls /boot

Para extender el sistema de archivos de la partición al tamaño máximo, emita el siguiente comando con privilegios de root.

$ sudo resize2fs /dev/sdb1

El comando cat es una excelente herramienta para manipular archivos de texto en Linux y algunos archivos multimedia especiales, pero debe evitarse para archivos de datos binarios o para concatenar archivos shebang. Para todas las demás opciones, no dude en ejecutar man cat desde la consola.

$ man cat

Sorprendentemente, hay otro comando llamado tac, sí, estoy hablando de tac, que es una versión inversa del comando cat (también escrito al revés) que muestra cada línea de un archivo en orden inverso, quiero saber más sobre tac, lea Cómo utilizar el comando Tac en Linux.