Yuriy Seleznev / Shutterstock.com
No se arriesgue a perder datos. Haga una copia de seguridad de sus valiosos datos desde la línea de comandos de Linux. Usaremos el rsync
comando para esto, e incluso encontramos algunas GUI opcionales agradables para ello.
Hay muchas formas de realizar una copia de seguridad de sus archivos. Queríamos mostrarle una forma sólida, flexible y confiable de proteger sus datos. Nosotros elegimos rsync
porque su algoritmos respetados que calculan las diferencias entre los archivos en el directorio de origen y el directorio de destino. Solo se transfieren las diferencias entre dos versiones de un archivo, no el archivo completo si esto se puede evitar.
Cuando esta eficiencia se combina con su sólida experiencia 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, existe un software independiente que sirve como interfaz para rsync
. Proporcionan interfaces gráficas de usuario (GUI) para rsync
que algunas personas pueden encontrar más fáciles de usar.
Cuanto más rápido y fácil sea hacer una copia de seguridad, más probabilidades tendrá de hacerlo.
Utilice 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 escribir allí, entonces rsync
. En este ejemplo, un disco duro USB externo llamado SILVERXHD (que significa “Silver eXternal Hard Drive”) está conectado a la computadora Linux. Fue montado automáticamente por el sistema operativo.
Necesitará conocer la ruta a la unidad. En GNOME, abra el navegador de archivos Nautilus y busque el nombre del reproductor en la barra lateral.
Pase 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 que el punto de montaje del sistema de archivos en la unidad externa es «/ media / dave / SILVERXHD».
Si su explorador de archivos no lo hace, navegue hasta la unidad externa y abra una ventana de terminal allí. Utilizar el pwd
comando para imprimir la ruta a la ventana del terminal.
Copie el contenido del directorio de origen
Usar rsync
para copiar el contenido de un directorio a su destino de copia de seguridad, use el siguiente comando.
los -r
causas de opción (recursivo) rsync
para copiar todos los subdirectorios anidados y su contenido. Tenga en cuenta que hay una barra inclinada «/» al final de la palabra «SILVERXHD», pero se pasa a la siguiente línea en la captura de pantalla.
rsync -r /home/dave/Documents/ /media/dave/SILVERXHD/
El archivo se copia y vuelve a la línea de comandos.
Si miramos la unidad USB externa, vemos que los directorios que están en el directorio de Documentos se han copiado a la raíz de la unidad externa.
ls
Copia del directorio de origen y su contenido
Si desea que el directorio de Documentos y su contenido se copie en la unidad externa, elimine «/» al final de «/ home / dave / Documentos» en la línea de comando, así:
rsync -r /home/dave/Documents /media/dave/SILVERXHD/
Para evitar confusiones, eliminé los dos directorios copiados previamente de la unidad externa antes de ejecutar este segundo comando.
Si dejamos que se complete la segunda copia y volvemos a mirar la unidad externa, vemos que se ha copiado el directorio de Documentos. Su contenido está en este directorio. No están en la raíz del disco externo.
Copiar a un directorio de destino específico
Para copiar a un directorio específico en el disco duro de destino, agregue el nombre del directorio a la ruta de destino. Suponga 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/
Al verificar en la unidad externa, podemos ver que se ha creado el directorio de respaldo, y en ese directorio está el contenido del directorio «/ home / dave / Documents».
ls
ls backups
Conservación de la propiedad y los permisos de los archivos
Utilizar el -a
(archivo) para conservar atributos de archivo como fechas de modificación, propiedad de archivo, permisos de acceso, etc., para archivos copiados, enlaces simbólicos y archivos de bloque especiales.
rsync -ra /home/dave/Documents/ /media/dave/SILVERXHD/backups/
Usando el modo detallado
los -v
(detallado) opción forzar 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.
- Enviado: los bytes transferidos al destino.
- Recibidos: 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 no los hubiera utilizado
rsync
. En la siguiente serie dersync
solo transferirá diferencias de archivo. Este número representará los datos que no tuvieron que ser transferidos. - Aceleración: es la relación entre la cantidad de datos que se enviarán y la cantidad total de datos que hay. sí
rsync
debe copiar todos los archivos en su totalidad (la primera vez que se ejecuta, por ejemplo), la aceleración será 1.0. Cuandorsync
luego se utiliza, optimizará las transferencias. Solo enviará las diferencias entre archivos, no archivos completos. Los archivos sin modificaciones se ignorarán. El número de aceleración representará la relación entre la pequeña cantidad de datos que se transferirán y el tamaño total de los archivos.
Usando la opción de progreso
los -P
(progreso) opción causas 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 es visible entre cada archivo copiado.
La información proporcionada es:
- Tamaño en bytes: datos transferidos para este archivo.
- Porcentaje: porcentaje del archivo transferido.
- B / s: tasa de transferencia de datos.
- Tiempo restante: tiempo restante 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.
Agrega más velocidad
Para acelerar las transferencias, utilice el -z
(compresión) opción. Esto comprime el archivo que se está transfiriendo, pero el archivo se almacena sin comprimir en el directorio de destino.
La opción de compresión no proporcionará beneficios significativos para transferencias que involucren muchos archivos pequeños. Para colecciones de archivos más grandes, esto puede reducir significativamente el tiempo de transferencia.
También usamos el --partial
opción aquí. rsync
eliminará los archivos transferidos parcialmente causados por problemas de red u otras interrupciones. los --partial
la opción obliga rsync
para dejar archivos parcialmente transferidos en el destino. Tiempo neto rsync
se ejecuta, no tendrá que volver a transferir partes de los archivos transferidos parcialmente.
Tenga en cuenta que es posible que no desee utilizar esta opción si existe el riesgo de que alguien confunda archivos transferidos parcialmente con archivos transferidos por completo.
rsync -ravz --partial /home/dave/Documents/ /media/dave/SILVERXHD/backups/
En nuestro ejemplo, los beneficios son marginales.
La tasa de aceleración ha mejorado, ¡pero en dos centésimas de porcentaje! En un escenario real, sus mejoras de velocidad serán más impresionantes.
Utilice rsync en una red
Hasta ahora hemos apuntado a una unidad USB externa. Para usar una ubicación de red como destino para la copia de seguridad, use la ruta a esa ubicación en la línea de comando. Hay un dispositivo de almacenamiento conectado a la red (NAS) en la red en la que se buscó este elemento.
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 realizar copias de seguridad en una red; estas son todas las opciones que hemos usado antes.
rsync -ravz --partial /home/dave/Documents/ /media/dave/NAS/dave/backups/
No hay diferencia en el formato de salida.
No es sorprendente que haya una mejora significativa en el número de bytes / s.
Si corremos rsync
nuevamente, podemos ver que no hay archivos para transferir ya que no ha habido cambios, pero todavía hay algunos bytes transferidos de un lado a otro. Esta es la cantidad de datos que se deben transferir para comparar la lista de archivos del destino con la lista de archivos del origen.
La relación de aceleración es un orden de magnitud mejor en este caso. En la práctica, sus índices de rendimiento se encontrarán en algún lugar entre nuestras dos lecturas pseudo-artificiales.
Utilice rsync sobre SSH
rsync
admite copia de seguridad a través de conexión SSH. Necesitamos proporcionar el nombre de la cuenta de usuario y la ubicación SSH en la línea de comando. 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 la máquina remota. Esta no es su contraseña en la máquina de origen.
La copia de seguridad finalizará como de costumbre. El rendimiento no es tan rápido como el de una conexión de red típica, debido al cifrado y descifrado que tiene lugar en la conexión de shell segura.
Automatiza tus copias de seguridad
Podemos crear fácilmente copias de seguridad automatizadas agregando entradas a su archivo crontab.
crontab -e
Configuraremos una copia de seguridad automática para que se ejecute a las 4:30 a.m. todos los días (si la computadora está encendida a esa hora, por supuesto). La sintaxis de la rsync
el comando no cambia en absoluto.
Ctrl + O escribirá sus cambios en el archivo, y Ctrl + X cerrará el nano
editor.
Pon una cara amiga en Rsync
Las personas que se sienten menos cómodas con la línea de comandos pueden utilizar uno de los muchos programas que incorporan una interfaz gráfica de usuario (GUI). rsync
. Dos buenos ejemplos son copia de seguridad afortunada y Grsync. Estos dos programas permiten que muchos rsync
opciones que se seleccionarán a través de la interfaz de usuario.
los Grsync
El programa se enfoca en ser un envoltorio visual para rync
. Proporciona un fácil acceso a la rsync
opciones y solo agrega un conjunto limitado de nuevas funciones.
Uno de los cuadros de diálogo de configuración de Grsync,
los luckyBackup
El programa es más que un simple contenedor para rsync
. Es un programa de respaldo que usa rsync
Entre bastidores. Por ejemplo, luckyBackup
puede tomar varias «instantáneas» de su copia de seguridad. A continuación, puede «retroceder» a las versiones de los archivos en cualquiera de las instantáneas.
Uno de los cuadros de diálogo de configuración de luckyBackup.
Para instalar Grsync
Instalar Grsync
en Ubuntu, use este comando:
sudo apt-get install grsync
Instalar Grsync
en Fedora, use este comando:
sudo dnf install grsync
Instalar Grsync
en Manaro, use este comando:
sudo pacman -Syu grsync
Para instalar luckyBackup
Instalar luckyBackup
en Ubuntu, use el siguiente comando:
sudo apt-get install luckybackup
Instalar luckyBackup
en Fedora, use el siguiente comando:
sudo dnf install luckybackup
En Manjaro necesitas instalar luckyBackup
de Repositorio de usuarios de Arch (AUR). Puedes hacer esto con el pamac
gerente de empaque.
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 realice copias de seguridad en diferentes medios. Una vez que esté en su lugar, rsync
puede hacer todo esto por ti.