Linux

Linux, aprende a hacer una copia de seguridad del sistema

No se arriesgue a perder datos. Realice una copia de seguridad de sus datos valiosos desde la línea de comandos de Linux. Vamos a usar el comando rsync para esto, e incluso hemos encontrado algunas interfaces gráficas opcionales para ello.

Hay muchas maneras de realizar una copia de seguridad de sus archivos. Queríamos mostrarle una forma robusta, flexible y fiable de proteger sus datos. Elegimos rsync por sus respetados algoritmos que calculan las diferencias entre los archivos del directorio de origen y el directorio de destino. Sólo se transfieren las diferencias entre dos versiones de un archivo, no todo el archivo si eso se puede evitar.

Cuando esta eficiencia se combina con su sólido historial en la realización de copias de archivos y sincronizaciones de directorios desde mediados de los años 90, rsync es el candidato perfecto para crear copias de seguridad desde la línea de comandos de Linux.

Además, hay programas de software independientes que actúan como front-end para rsync. Proporcionan interfaces gráficas de usuario (GUIs) a rsync que algunas personas pueden encontrar más fáciles de usar.

Cuanto más simple y rápido sea realizar una copia de seguridad, más probable será que lo haga.

Uso de rsync con un disco duro externo en Linux

Para hacer una copia de seguridad de sus datos en un disco duro externo, el disco duro debe estar montado y accesible para usted. Si puedes escribirle, entonces también puede hacerlo rsync. En este ejemplo, un disco duro USB externo llamado SILVERXHD (para «Silver eXternal Hard Drive») se conecta al ordenador Linux. Ha sido auto-montado por el sistema operativo.

Necesitará conocer la ruta de acceso a la unidad. En GNOME, abra el navegador de archivos Nautilus y localice el nombre de la unidad en la barra lateral.

Pase el puntero del ratón sobre el nombre de la unidad externa y un tooltip le mostrará la ruta a la unidad de Linux.

Linux

En este ejemplo, el tooltip nos informa que el punto de montaje para el sistema de ficheros en la unidad externa es «/media/dave/SILVERXHD».

Si el explorador de archivos no lo hace, busque la unidad externa y abra una ventana de terminal en esa ubicación. Utilice el comando pwd para imprimir la ruta a la ventana del terminal.

Copiar el contenido del directorio de origen de Linux

Para usar rsync para copiar el contenido de un directorio a su destino de copia de seguridad, use el siguiente comando.

La opción -r (recursiva) hace que rsync copie todos los subdirectorios anidados y sus contenidos. Tenga en cuenta que hay una barra oblicua «/» al final de la palabra «SILVERXHD», pero se ha redondeado a la siguiente línea en la captura de pantalla.

rsync -r /home/dave/Documents/ /media/dave/SILVERXHD/

Linux

Se realiza la copia del archivo y se le devuelve a la línea de comandos.

Si nos fijamos en la unidad USB externa, veremos que los directorios que se encuentran en el directorio Documentos se han copiado en la raíz de la unidad externa.

ls

Linux

Copiar el directorio de origen y su contenido

Si quería que el directorio Documentos y su contenido se copiara en la unidad externa, elimine el «/» del final de «/home/dave/Documents» en la línea de comandos, de la siguiente manera:

rsync -r /home/dave/Documents /media/dave/SILVERXHD/

Linux

Para evitar confusiones, eliminé los dos directorios previamente copiados de la unidad externa antes de que se ejecutara este segundo comando.

Si dejamos que la segunda copia se complete y echamos otro vistazo a la unidad externa, veremos que el directorio Documents ha sido copiado. Su contenido se encuentra dentro de ese directorio. No están en la raíz de la unidad externa.

Linux

Copia a un directorio de destino específico

Para copiar en un directorio específico del disco duro de destino, añada el nombre del directorio a la ruta de destino. Supongamos que queremos copiar el contenido del directorio «/home/dave/Documents» a un directorio llamado «backups» en la unidad externa.

Haríamos esto con el siguiente comando.

rsync -r /home/dave/Documents/ /media/dave/SILVERXHD/backups/

Linux

Comprobando en el disco externo podemos ver que se ha creado el directorio de copias de seguridad, y dentro de ese directorio están los contenidos del directorio «/home/dave/Documents».

ls

ls backups

Linux

Preservar la propiedad y los permisos de los archivos en Linux

Utilice la opción -a (archivo) para conservar los atributos de los archivos, como las fechas de modificación, la propiedad de los archivos, los permisos de acceso, etc., para los archivos copiados, los enlaces simbólicos y los archivos de bloqueo especiales.

rsync -ra /home/dave/Documents/ /media/dave/SILVERXHD/backups/

Linux

Uso del modo Verboso

La opción -v (verboso) obliga a rsync a listar los archivos a medida que se van copiando en Linux.

rsync -rav /home/dave/Documents/ /media/dave/SILVERXHD/backups/

Se presenta un resumen de la copia de seguridad cuando se completa la copia.

Linux

Enviado: Los bytes transferidos al objetivo.

Recibido: Los bytes recibidos en el host.

Bytes/segundo: es la tasa de transferencia efectiva.

Tamaño total: Representa el tamaño de los datos que se habrían enviado si no se hubiera utilizado rsync. En las ejecuciones posteriores de rsync sólo se transferirán las diferencias de archivo. Esta cifra representará los datos que no tuvieron que ser transferidos.

Acelera: Esta es la relación entre la cantidad de datos que tuvieron que ser enviados y la cantidad total de datos que hay. Si rsync necesita copiar todos los archivos en su totalidad (la primera vez que se ejecuta, por ejemplo) la velocidad será 1.0. La próxima vez que se utilice rsync, se optimizarán las transferencias.

Sólo enviará las diferencias entre los archivos, no los archivos completos. Los campos sin cambios serán ignorados. La cifra de aceleración representará la relación entre la pequeña cantidad de datos que era necesario transferir y el tamaño total de los archivos.

Uso de la Opción de Progreso

La opción -P (progress) hace que rsync genere un pequeño informe de progreso después de copiar cada archivo.

rsync -raP /home/dave/Documents/ /media/dave/SILVERXHD/backups/

Linux

La información proporcionada puede verse entre cada archivo copiado de Linux.

La información proporcionada es:

Tamaño de byte: Datos transferidos para este fichero.

Porcentaje: Porcentaje del archivo transferido.

B/s: Velocidad de transferencia de datos.

Tiempo restante: Tiempo estimado para transferir este archivo.

xfr#: El número de archivos transferidos hasta ahora.

Para chupar: El número de archivos que quedan por comprobar y verificar por los algoritmos de optimización.

Añadiendo más velocidad

Para acelerar las transferencias, utilice la opción -z (compresión). Esto comprime el archivo en la transferencia, pero el archivo se almacena sin comprimir en el directorio de destino.

La opción de compresión no producirá beneficios significativos para transferencias que involucren muchos archivos pequeños. Para colecciones de archivos más grandes, puede reducir el tiempo de transferencia de una manera significativa.

También estamos usando la opción –partial. rsync eliminará los archivos parcialmente transferidos causados por fallos en la red u otras interrupciones en el sistema de Linux. La opción –partial obliga a rsync a dejar los archivos parcialmente transferidos en el destino. El rsync de tiempo neto se ejecuta no tendrá que volver a transferir las partes de los archivos parcialmente transferidos.

Tenga en cuenta que es posible que no desee utilizar esta opción si existe el riesgo de que alguien confunda los archivos parcialmente transferidos con archivos completamente transferidos.

rsync -ravz –parcial /home/dave/Documents/ /media/dave/SILVERXHD/backups/

En nuestro ejemplo, los beneficios son marginales.

El índice de aceleración ha mejorado, pero en dos centésimas de punto porcentual. En un escenario del mundo real, sus mejoras de velocidad serán más impresionantes.

Uso de rsync en una red

Hasta ahora hemos estado apuntando a una unidad USB externa. Para utilizar una ubicación de red como destino de la copia de seguridad, utilice la ruta a esa ubicación en la línea de comandos. Hay un dispositivo de almacenamiento conectado a la red (NAS) en la red sobre el que se investigó este artículo.

Podemos usar el mismo truco que usamos antes para identificar la ruta al NAS, pasando el ratón por encima de la conexión a ese dispositivo en Nautilus.

No hay opciones especiales para realizar copias de seguridad en una red; todas ellas son opciones que ya hemos utilizado.

rsync -ravz –parcial /home/dave/Documents/ /media/dave/NAS/dave/backups/

No hay diferencia en el formato de la salida.

No es de extrañar que haya una mejora significativa en la cifra de Bytes/segundo.

Si ejecutamos rsync una vez más, podemos ver que no hay archivos que transferir porque no ha habido cambios, pero todavía hay algunos bytes transferidos de un lado a otro. Esta es la cantidad de datos que deben transferirse para comparar la lista de archivos en el destino con la lista de archivos en la fuente.

La relación de aceleración es un orden de magnitud mejor en este caso. En la práctica, sus coeficientes de rendimiento estarán entre nuestras dos lecturas pseudo-artificiales.

Uso de rsync sobre SSH

rsync soporta la realización de copias de seguridad a través de una conexión SSH. Necesitamos proporcionar el nombre de la cuenta de usuario y la ubicación SSH en la línea de comandos. Estamos utilizando un nombre de red, pero también puede utilizar una dirección IP.

Observe el «:» entre los detalles de la conexión SSH y el inicio de la ruta de red en el objetivo remoto.

rsync -ravz –parcial /home/dave/Documents/ dave@sulaco.local:/home/dave/Backups/

Se le pedirá la contraseña de la cuenta de usuario en la máquina remota. Esta no es su contraseña en la máquina fuente.

La copia de seguridad se completará como de costumbre. El rendimiento no es tan rápido como una conexión de red normal, debido al cifrado y descifrado que tiene lugar en la conexión de shell segura.

Automatización de las copias de seguridad

Podemos crear fácilmente copias de seguridad automatizadas añadiendo entradas a su archivo crontab.

crontab -e

Configuraremos una copia de seguridad automatizada para que se ejecute cada día a las 04:30 (si la computadora está encendida a esa hora, por supuesto). La sintaxis del comando rsync no cambia en absoluto.

Ctrl+O escribirá los cambios en el archivo y Ctrl+X cerrará el editor nano.

Poniendo una cara amigable en Rsync

Las personas que se sienten menos cómodas con la línea de comandos pueden usar uno de los numerosos programas que ponen una interfaz gráfica de usuario (GUI) en rsync. Dos buenos ejemplos son luckyBackup y Grsync. Ambos programas permiten seleccionar muchas de las opciones de rsync a través de la interfaz de usuario.

El programa Grsync se concentra en ser una envoltura visual para rync. Proporciona un fácil acceso a las opciones de rsync y añade sólo un conjunto limitado de nuevas funciones.

El programa luckyBackup es mucho más que una simple envoltura para rsync. Es un programa de copia de seguridad que utiliza rsync entre bastidores. Por ejemplo, luckyBackup puede hacer múltiples «instantáneas» de su copia de seguridad. A continuación, puede «retroceder» a las versiones de los archivos en cualquiera de las instantáneas.

Para instalar Grsync

Para instalar Grsync en Ubuntu, use este comando:

sudo apt-get install grsync

Para instalar Grsync en Fedora, use este comando:

sudo dnf instalar grsync

Para instalar Grsync en Manaro utilice este comando:

sudo pacman -Syu grsync

Para instalar luckyBackup

Para instalar luckyBackup en Ubuntu, utilice el siguiente comando:

sudo apt-get install luckybackup

Para instalar luckyBackup en Fedora utilice el siguiente comando:

sudo dnf instala luckybackup

En Manjaro debe instalar luckyBackup desde el Repositorio de Usuarios de Arch (AUR). Puede hacerlo con el gestor de paquetes de pamac.

No se arriesgue, haga copias de seguridad de sus datos con frecuencia

Las copias de seguridad son absolutamente vitales. Realice copias de seguridad con frecuencia, realice copias de seguridad en muchas ubicaciones y en diferentes soportes. Una vez configurado, rsync puede hacer todo eso por ti.


¿Tienes alguna pregunta o problema relacionado con el tema del artículo? Queremos ayudarte.

Deja un comentario con tu problema o pregunta. Leemos y respondemos todos los comentarios, aunque a veces podamos tardar un poco debido al volumen que recibimos. Además, si tu consulta inspira la escritura de un artículo, te notificaremos por email cuando lo publiquemos.
*Moderamos los comentarios para evitar spam.

¡Gracias por enriquecer nuestra comunidad con tu participación!

Deja un comentario