Ya sea un administrador o un usuario normal, lo más probable es que necesite crear copias de seguridad periódicas de sus archivos o sincronizarlos entre varios sistemas. Si esta tarea requiere sobrescribir todos los archivos cada vez, le llevará mucho tiempo y será tediosa; Aquí es donde la herramienta Linux Rsync a servidor remoto viene a su rescate. Esta guía lo familiarizará con los comandos Rsync más útiles, permitiéndole utilizar sus funciones rápidas y seguras.
¿Qué es la utilidad Rsync?
Sincronización remota (Rsync) es un comando muy conocido de Linux/Unix que puede utilizar para copiar y sincronizar archivos y directorios mediante acceso remoto o localmente. El uso del comando Rsync le permite realizar diversas tareas relacionadas con los datos, como sincronización, copia y obtención de copias de seguridad. Además, puede reflejar su sistema Linux en otro.
La idea principal detrás del uso de Rsync en un servidor remoto es aprovechar su rápida transferencia de archivos; para transformar datos entre dos fuentes, solo considera las diferencias entre ellas. En otras palabras, usar el comando Rsync le ayudará a evitar perder tiempo en transferencias de datos ciegas, ya que solo considera las diferencias entre los dos sistemas Linux.
¿Por qué utilizar Rsync?
Como quizás ya sepa, hay varias herramientas de respaldo disponibles para su uso. La pregunta es, ¿qué hace que la herramienta Rsync sea única en comparación con otras utilidades o comandos?
Por ejemplo, puedes usar Protocolo de transferencia de archivos (FTP) tener una copia local de su sitio web o SCP (Protocolo de copia segura) para esta tarea. Sin embargo, estos dos tienen inconvenientes. FTP no incluye cifrado de datos, lo cual no es lo que esperamos, y aunque SCP no tiene un problema de transferencia no cifrado como FTP, todavía lleva más tiempo transferir ya que crea un túnel para hacerlo.
Por lo tanto, como solución alternativa a estos problemas, podemos usar Rsync para un servidor remoto con cifrado basado en claves (simplemente llamado Rsync SSH o Rsync sobre SSH) que evita el envío de datos duplicados y utiliza una clave SSH. También debe tener en cuenta que Rsync emplea compresión y descompresión para recibir y enviar datos, lo que genera un menor uso de ancho de banda.
¿Cómo instalar Rsync?
Probablemente ya tengas Rsync instalado en tu sistema; no obstante, entremos en detalles. Antes de hacerlo, preste atención a que SSH ya debe estar instalado en los sistemas de origen y de destino, ya que queremos usar Rsync sobre SSH.
Paso 1: verificar la versión SSH
Puede verificar la versión de SSH usando el siguiente comando:
ssh -V
Para Rsync con un servidor remoto, necesitará tener un servidor local, también conocido como fuente, y el servidor remoto. También debe asegurarse de que el servidor local tenga privilegios administrativos (sudo).
Paso 2: Instalar Rsync Linux
El siguiente comando le permitirá instalar Rsync en Ubuntu, Linux Mint y Debian:
sudo apt install rsync -y
Si está utilizando otras distribuciones de Linux, como Fedora, CentOS, AlmaLinux y Red Hat, escriba el siguiente comando para instalar Rsync en el servicio de servidor remoto en su sistema:
sudo dnf install rsync
Nota: apt es una útil herramienta de instalación de paquetes que se utiliza en distribuciones basadas en Debian.
Paso 3: iniciar Rsync
Ahora necesita iniciar y luego habilitar Rsync para comenzar a usarlo mediante los siguientes comandos:
sudo systemctl start rsync
sudo systemctl enable rsync
Paso 4: Verificar la instalación de Rsync
Ingrese el siguiente comando para asegurarse de haber instalado Rsync correctamente y verificar qué versión está utilizando en su sistema Linux:
rsync --version
En la siguiente sección, analizaremos cómo utilizar la capacidad de esta herramienta para realizar copias de seguridad mediante autenticación basada en claves.
¿Cómo crear copias de seguridad usando Rsync sobre SSH?
Realizar copias de seguridad incrementales es uno de los casos de uso de Rsync sobre SSH. Preste atención al siguiente comando para comprender cómo funciona:
rsync -av -e ssh /sourceDir/ user@remote:/path/to/destinationDir
Ejecutar el comando anterior te ayudará a sincronizar fuenteDir y destinoDir. Este comando incluye otras opciones con las que debería estar familiarizado, como -a (archivo) y -v (detallado). Tenga en cuenta que -e ssh La opción exige que la conexión Rsync se realice a través del protocolo SSH.
Si quieres el conexión SSH para ser aceptado a través de un puerto distinto al predeterminado (puerto 22), debe mencionar el número de puerto después -e ssh. Mire el siguiente comando para comprender cómo funciona.
rsync -av -e ssh 1998 sourceDir/ user@remote:/path/to/destinationDir
En el comando anterior, asumimos que queremos usar 1998 como nuestro puerto SSH en lugar de 22.
Rsync al servidor remoto a través de SSH tiene otras opciones que pueden resultar bastante útiles. Por ejemplo, utilizando el -parcial La opción le permite continuar con la transferencia parcial anterior en caso de problemas como la interrupción de Rsync. También puede conocer el progreso de la transferencia de archivos actual a través del -progreso opción. Además, la utilidad Linux Rsync para servidor remoto le permite utilizar estas dos funciones simultáneamente. Para hacerlo, puede utilizar el -p bandera en la línea de comando.
rsync -avP -e ssh /sourceDir/ user@remote:/path/to/destinationDir
Rsync al servidor remoto con comando de teclado le permite comprimir los datos antes de transferirlos al destino. Aunque utilizará su CPU para completar la compresión, sigue siendo bastante útil ya que acelera la transferencia de archivos y requiere menos uso de ancho de banda.
Puede utilizar el comando Rsync para copiar archivos y directorios, remotos o locales. La principal ventaja de Rsync es que se basa en el algoritmo de transferencia delta, lo que evita copiar datos duplicados desde el origen al destino. Como se mencionó anteriormente, esta característica de la utilidad Rsync a servidor remoto lo ayuda si desea manejar copias de seguridad diarias y duplicación del sistema. Con esto en mente, usemos el comando Rsync para casos de uso locales.
¿Cómo utilizar Rsync para la sincronización local?
Antes de profundizar en la sincronización local y cómo usar el comando Rsync, debes conocer la estructura general de Rsync local, que se muestra a continuación:
rsync [options] [Source] [Destination]
Copiar archivos localmente
Supongamos que queremos sincronizar o copiar un archivo del directorio del escritorio (llamado Cloudzy) a /inicio/Público carpeta; esto es lo que necesitas para ingresar:
rsync -zvh /desktop/Cloudzy/myfile.pdf /home/Public
El comando Rsync anterior incluye tres opciones como -zvh; usando -z, tendrás tu archivo comprimido durante la transferencia. v opción significa salida detallada, y el h opción es lo que nos ayuda a poder leer resultados como humanos, es decir, mostrar resultados legibles por humanos.
Copiar directorios localmente
Si queremos copiar el directorio del escritorio (llamado Cloudzy) a /inicio/Público carpeta; necesitas escribir el siguiente comando:
rsync -zavh /desktop/Cloudzy/myfile.pdf /home/Public
El -a La opción en este comando archiva directorios y archivos durante la sincronización.
Puede consultar rápidamente la lista de directorios de la carpeta de destino para verificar si el directorio se ha copiado o no. Para hacerlo, use el siguiente comando:
ls -ld /home/Public
Sincronización de archivos y directorios de forma recursiva y local (Recursive Rsync)
¿Qué pasaría si hubiera varios directorios y archivos en el /escritorio/Cloudzy¿Y quería copiarlos de forma recursiva mediante el comando Rsync de Linux?
En este caso se utiliza el -r opción para sincronizar recursivamente sus archivos y directorios locales. También puedes utilizar el opción de archivo (-a) ya que tiene otros casos de uso como la copia recursiva. Mire el siguiente comando para familiarizarse con los comandos recursivos de Rsync.
rsync -zrvh /desktop/Cloudzy /home/Public
Or
rsync -zrvh /desktop/Cloudzy /home/Public
Copiar directorios y archivos del sistema local al remoto
Aparte de las características de Linux Rsync al servidor remoto, a las que nos referimos en secciones anteriores, este conocido comando también permite sincronizar archivos y directorios desde la máquina local al sistema remoto.
Supongamos que queremos copiar una carpeta. (/escritorio/Cloudzy/nuevacarpeta) desde la máquina local al sistema remoto (con 192.168.1.79) bajo /mycpt; Aquí hay un ejemplo que muestra cómo funciona esto:
rsync -zarvh /desktop/Cloudzy/newfolder [email protected]:/mycpt
¿Cómo copiar directorios sin sus archivos usando Rsync?
En algunos casos, es posible que queramos utilizar Linux Rsync para capacidades de servidor remoto para copiar directorios sin archivos; esta sincronización podría ser desde la máquina remota al sistema local o al revés.
En este artículo, hemos estado utilizando el sistema remoto en 192.168.1.79. Supongamos que lo tenemos debajo /mycpt carpeta y desea copiar la /escritorio/Cloudzy directorio del sistema local sin incluir sus archivos. Ingrese el siguiente comando para hacerlo:
rsync -av -f"+ */" -f"- *" /desktop/Cloudzy [email protected]:/mycpt/
Otros comandos Rsync útiles
Aquí discutiremos algunos comandos adicionales de Linux Rsync que pueden resultarle prácticos.
Determinar el tamaño máximo para la transferencia de archivos en Rsync
Puede determinar un tamaño límite para la transferencia de archivos utilizando el comando Rsync, que resulta útil cuando ejecuta Rsync con regularidad en un servidor remoto y en la máquina local donde el ancho de banda y el tiempo son factores esenciales a considerar. Preste atención al siguiente comando para familiarizarse con la configuración de limitaciones de tamaño en la transferencia de archivos Rsync:
rsync -avzhe ssh --max-size='100k' /desktop/Cloudzy [email protected]:/home/Public
Determinar el tamaño mínimo para la transferencia de archivos en Rsync
Al igual que establecer un tamaño máximo para la transferencia de archivos, puede determinar el tamaño mínimo del archivo que desea transferir mediante Rsync a la herramienta del servidor remoto. En el siguiente comando, estableceremos el tamaño mínimo de archivo en 10k:
rsync -avzhe ssh --min-size='10k' /desktop/Cloudzy [email protected]:/home/Public
Eliminar archivos de la fuente después de completar la sincronización
Una vez que haya terminado de usar el comando Rsync, es posible que ya no necesite tener el archivo en el sistema fuente. En este caso, puede utilizar el comando Rsync de Linux como se muestra a continuación para eliminar los archivos de la fuente:
rsync --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public
Sincronización de ejecución en seco
Si es nuevo en la utilidad Rsync de Linux y no está familiarizado con sus opciones, ejecución en seco es un camino adecuado a seguir. Cuando utiliza la ejecución en seco con Rsync, no alterará los archivos, pero le mostrará el resultado del comando. Después de asegurarse de que desea ejecutar el comando, puede eliminar el –ejecución en seco opción de él y ejecutarlo en la terminal. Mire el siguiente comando para saber más sobre la funcionalidad de ejecución en seco.
rsync --dry-run --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public
Resumen: utilización de los comandos Rsync de Linux
Este artículo explica cómo utilizar las capacidades de Rsync de Linux para el servidor remoto (y Rsync para el servidor local) para varios casos de uso, incluido duplicación del sistema, creando una copia de seguridad de archivos y copiando archivos y directorios de forma local y remota utilizando un enfoque eficiente. Este conocido comando de Linux le permite beneficiarse de una rápida transferencia de archivos y al mismo tiempo le permite utilizar SSH y compresión de datos.
Consiga un VPS Linux económico o premium para alojar su sitio web o escritorio remoto, al precio más barato que existe. VPS que se ejecuta en Linux KVM para una mayor eficiencia y funciona en hardware potente con almacenamiento SSD NVMe para una mayor velocidad.
Leer másPuede aprovechar al máximo este sistema operativo obteniendo una VPS Linux solución de Cloudzy, que le permite beneficiarse de planes de alojamiento basados en KVM. Estamos orgullosos de ofrecerle servicios VPS de alto rendimiento con 99,95 % de tiempo de actividad, estabilidad, latencia mínima, centros de datos en todo el mundo (12 ubicaciones), almacenamiento SSD ultrarrápido y soporte técnico 24 horas al día, 7 días a la semana. Podrías empezar a usar tu VPS Linux por $4,95 y ampliarlo si quieres una solución más avanzada.
Preguntas frecuentes
¿Qué puerto TCP utiliza Rsync?
SSH normalmente utiliza el puerto 22 como puerto predeterminado. Por lo tanto, cuando utilice rsync a través de SSH, funcionará en este puerto en particular. Por otro lado, cuando se emplea el demonio Rsync, se utilizará el puerto 873.
¿Qué es Rsync?
Rsync es una utilidad de Linux que puede sincronizar archivos y directorios de forma remota o local. El uso del comando Rsync le permite realizar diversas tareas relacionadas con los datos, como sincronización, copia y obtención de copias de seguridad.