No se arriesgue a la pérdida de datos. Haga una copia de seguridad de sus datos valiosos desde la línea de comandos de Linux. Usaremos el rsync
para esto, e incluso hemos encontrado algunas interfaces gráficas opcionales agradables para ello.
Hay muchas maneras de lograr hacer una copia de seguridad de sus archivos. Queríamos mostrarle una forma robusta, flexible y confiable de proteger sus datos. Elegimos rsync
debido a su algoritmos muy respetados que calculan las diferencias entre los archivos del directorio de origen y el directorio de destino. Solo 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 la década de 1990, rsync
es un 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 un front-end para rsync
. Proporcionan interfaces gráficas de usuario (GUI) para rsync
que algunas personas pueden encontrar más fácil de usar.
Cuanto más simple y rápido sea hacer una copia de seguridad, más probable es que lo haga.
¿De qué vamos a hablar?
- 1 Uso de rsync con un disco duro externo
- 2 Copiar el contenido del directorio de origen
- 3 Copiar el directorio de origen y su contenido
- 4 Copiar en un directorio de destino específico
- 5 Preservar la propiedad y los permisos de los archivos
- 6 Uso del modo detallado
- 7 Uso de la opción Progreso
- 8 Añadiendo más velocidad
- 9 Uso de rsync a través de una red
- 10 Uso de rsync sobre SSH
- 11 Automatización de sus copias de seguridad
- 12 Poner una cara amigable en Rsync
- 13 Para instalar Grsync
- 14 Para instalar luckyBackup
- 15 No se arriesgue, haga una copia de seguridad de sus datos con frecuencia
Uso de rsync con un disco duro externo
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 puedes rsync
. En este ejemplo, un disco duro USB externo llamado SILVERXHD (para “Silver eXternal Hard Drive”) se conecta a la computadora Linux. Ha sido montado automáticamente por el sistema operativo.
Necesitará conocer el camino a la unidad. En GNOME, abra el navegador de archivos Nautilus y localice el nombre de la unidad en la barra lateral.
Coloque el puntero del mouse sobre el nombre de la unidad externa y una información sobre herramientas le mostrará la ruta a la unidad.
En este ejemplo, la información sobre herramientas nos informa de que el punto de montaje del sistema de archivos en la unidad externa es “/media/dave/SILVERXHD”.
Si su explorador de archivos no hace esto, vaya a la unidad externa y abra una ventana de terminal en esa ubicación. Utilice el pwd
para imprimir la ruta a la ventana del terminal.
Copiar el contenido del directorio de origen
Utilizar rsync
para copiar el contenido de un directorio en el destino de la copia de seguridad, utilice el siguiente comando.
El -r
Causas de la opción (recursiva) rsync
para copiar todos los subdirectorios anidados y su contenido. Tenga en cuenta que hay una barra diagonal “/” al final de la palabra “SILVERXHD”, pero se ha envuelto en la siguiente línea de la captura de pantalla.
rsync -r /home/dave/Documents/ /media/dave/SILVERXHD/
Se realiza la copia del archivo y se le devuelve al símbolo del sistema.
Si nos fijamos en la unidad USB externa, vemos que los directorios que se encuentran en el directorio Documents se han copiado a la raíz de la unidad externa.
ls
Copiar el directorio de origen y su contenido
Si hubieras querido tener el directorio Documentos y su contenido copiado en la unidad externa, elimine el “/” del final de “/home/dave/Documents” en la línea de comandos, así:
rsync -r /home/dave/Documents /media/dave/SILVERXHD/
Para evitar confusiones, eliminé los dos directorios copiados previamente 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, vemos que el directorio Documents se ha copiado. Su contenido está dentro de ese directorio. No están en la raíz de la unidad externa.
Copiar en un directorio de destino específico
Para copiar en un directorio específico en el disco duro de destino, agregue 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.
Lo haríamos con el siguiente comando.
rsync -r /home/dave/Documents/ /media/dave/SILVERXHD/backups/
Revisando en la unidad externa 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
Preservar la propiedad y los permisos de los archivos
Utilice el -a
(archivar) opción para conservar atributos de archivo como fechas de modificación, propiedad de archivos, permisos de acceso y más, para archivos copiados, enlaces simbólicos y archivos de bloque especiales.
rsync -ra /home/dave/Documents/ /media/dave/SILVERXHD/backups/
Uso del modo detallado
El -v
Fuerzas de opción (detalladas) rsync
para enumerar los archivos a medida que se copian.
rsync -rav /home/dave/Documents/ /media/dave/SILVERXHD/backups/
Se presenta un resumen de la copia de seguridad cuando se completa la copia.
- SeNt: Los bytes transferidos al destino.
- Recibido: Los bytes recibidos en el host.
- Bytes/seg: es la tasa de transferencia efectiva.
- Tamaño total: representa el tamaño de los datos que se habrían enviado si fuera no Usando
rsync
. En ejecuciones posteriores dersync
solo transferirá las diferencias de archivo. Esta figura representará los datos que lo hicieron. no tienen que ser transferidos. - Speedup: Esta es la relación entre la cantidad de datos que se tuvieron que enviar 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 aceleración será 1.0. Cuandorsync
se utiliza a continuación, optimizará las transferencias. Solo enviará las diferencias entre los archivos, no los archivos completos. Los FIles sin cambios serán ignorados. La cifra de aceleración representará la relación entre la pequeña cantidad de datos que se requirió transferir versus el tamaño total de los archivos.
Uso de la opción Progreso
El -P
(progreso) causas de la opción rsync
para generar un pequeño informe de progreso después de copiar cada archivo.
rsync -raP /home/dave/Documents/ /media/dave/SILVERXHD/backups/
La información proporcionada se puede ver entre cada archivo copiado.
La información proporcionada es:
- Tamaño de bytes: Datos transferidos para este archivo.
- 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 el momento.
- to-chk: El número de archivos que quedan por comprobar y verificar mediante los algoritmos de optimización.
Añadiendo más velocidad
Para acelerar las transferencias, utilice el -z
(compresión) opción. Esto comprime el archivo en transferencia, pero el archivo se almacena sin comprimir en el directorio de destino.
La opción de compresión no producirá beneficios significativos para las transferencias que involucran 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 el --partial
opción aquí. rsync
eliminará los archivos parcialmente transferidos causados por fallas de red u otras interrupciones. El --partial
fuerzas de opción rsync
para dejar los archivos parcialmente transferidos en el destino. El tiempo neto rsync
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 --partial /home/dave/Documents/ /media/dave/SILVERXHD/backups/
En nuestro ejemplo, los beneficios son marginales.
¡La relación de aceleración ha mejorado, pero en dos centésimas de un por ciento! En un escenario del mundo real, sus mejoras de velocidad serán más impresionantes.
Uso de rsync a través de una red
Hasta ahora hemos estado apuntando a una unidad USB externa. Para utilizar una ubicación de red como destino para la copia de seguridad, utilice la ruta de acceso a esa ubicación en la línea de comandos. Hay un dispositivo de almacenamiento conectado a la red (NAS) en la red en la que se investigó este artículo.
Podemos usar el mismo truco que usamos anteriormente para identificar la ruta al NAS, pasando el mouse sobre la conexión a ese dispositivo en Nautilus.
No hay opciones especiales para hacer copias de seguridad a través de una red; todas estas son opciones que ya hemos utilizado.
rsync -ravz --partial /home/dave/Documents/ /media/dave/NAS/dave/backups/
No hay diferencia en el formato de la salida.
No es sorprendente que haya una mejora significativa en la cifra de bytes / seg.
Si corremos rsync
una vez más, podemos ver que no hay archivos para 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 el origen.
La relación de aceleración es un orden de magnitud mejor en este caso. En la práctica, sus proporciones de rendimiento estarán en algún lugar entre nuestras dos lecturas pseudo-artificiales.
Uso de rsync sobre SSH
rsync
admite la copia 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 usando un nombre de red aquí, pero también puede usar una dirección IP.
Tenga en cuenta el “:” entre los detalles de la conexión SSH y el inicio de la ruta de red en el destino remoto.
rsync -ravz --partial /home/dave/Documents/ dave@sulaco.local:/home/dave/Backups/
Se le pedirá la contraseña de la cuenta de usuario en el remoto máquina. Esta no es su contraseña en la máquina de origen.
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 sus copias de seguridad
Podemos crear fácilmente copias de seguridad automatizadas agregando entradas a su archivo crontab.
crontab -e
Configuraremos una copia de seguridad automatizada para que se ejecute todos los días a las 04:30 (si la computadora está encendida a esa hora, por supuesto). La sintaxis de la rsync
el comando no cambia en absoluto.
Ctrl+O escribirá los cambios en el archivo y Ctrl+X cerrará el nano
editor.
Poner una cara amigable en Rsync
Las personas que se sienten menos cómodas con la línea de comandos pueden usar uno de una serie de programas que ponen una interfaz gráfica de usuario (GUI) en rsync
. Dos buenos ejemplos son: luckyBackup y Grsync. Ambos programas permiten muchos de los rsync
opciones que se seleccionaron a través de la interfaz de usuario.
El Grsync
El programa se concentra en ser un envoltorio visual para rync
. Proporciona un fácil acceso a la rsync
y agrega solo un conjunto limitado de nuevas funcionalidades.
El luckyBackup
El programa es mucho más que un simple envoltorio 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 “revertir” 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 install grsync
Para instalar Grsync
en Manaro use 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 use el siguiente comando:
sudo dnf install luckybackup
En Manjaro debes instalar luckyBackup
del Repositorio de usuarios de Arch (AUR). Puede hacer esto con el pamac
gestor de paquetes.
No se arriesgue, haga una copia de seguridad de sus datos con frecuencia
Las copias de seguridad son absolutamente vitales. Haga una copia de seguridad con frecuencia, haga una copia de seguridad en muchas ubicaciones y haga una copia de seguridad en diferentes medios. Una vez configurado, rsync
puede hacer todo eso por ti.