Introducción

Rsync es una utilidad ligera pero potente para sincronizar directorios y carpetas en un sistema Linux. Es una aplicación rápida y flexible escrita para reemplazar las utilidades SCP y RCP.

La utilidad permite a los webmasters cargar archivos a un servidor remoto y es importante para reducir la transferencia de datos cuando se mantienen copias de archivos locales en el servidor remoto.

Rsync facilita la transferencia de la diferencia entre los archivos locales y el destino remoto para proporcionar una transferencia de archivos incremental y conveniente. Este tutorial le ayudará a transferir archivos y carpetas mediante la utilidad Rsync.

Antes de comenzar, inicie un VPS o servidor dedicado con un buen servicio de hosting de Linux.

¿Listo? ¡Vamos!

Paso 1: instale la utilidad Rsync

Rsync es una utilidad lista para usar que viene preinstalada en casi todos los sistemas Linux. Ejecute el siguiente comando para confirmar la versión de Rsync implementada en su sistema Linux:

$ sudo rsync --version

Esto le dará un resultado similar al siguiente:

rsync  version 3.1.2  protocolversion 31

Si esta utilidad no se proporciona en su sistema Linux, ejecute el siguiente comando para instalarla:

Para Debian y Ubuntu:

$ sudo apt install rsync

Para sistemas CentOS:

$ sudo yum install rsync

¡Eso es! La ejecución de los comandos instalará automáticamente Rsync en su sistema Linux.

Paso 2: la sintaxis del comando

El comando rsync tiene la siguiente estructura:

LocaltoLocal:  rsync [OPTION]... SRC [SRC]... DEST
LocaltoRemote: rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
RemotetoLocal: rsync [OPTION]... [USER@]HOST:SRC [DEST]

Veamos esta sintaxis para comprender mejor todo el comando rsync:

  • La POSIBILIDAD muestra las opciones de Rysnc disponibles
  • SRC es el directorio original
  • DEST es la carpeta de destino
  • USUARIO representa el nombre de usuario remoto
  • ANFITRIÓN representa el host remoto

La utilidad rsync ahora tiene varias opciones que se pueden usar para administrar el comportamiento. Estas son las opciones de rsync más utilizadas, que incluyen:

  • -a, –archivoeste modo es el mismo que -rlptgoD y se utiliza a menudo para sincronizar directorios de forma recursiva, mantener enlaces simbólicos, grupos, cambiar mosaicos, permisos y propiedad.
  • -p, –permas es una opción para retener permisos
  • -z, –comprimir es una opción para comprimir datos y archivos durante el proceso de transferencia. Esto es muy efectivo si su conexión a un servidor remoto es lenta.
  • –ClaroCon esta opción, los archivos y datos externos se eliminan del directorio de destino.
  • -q, –quiet es un comando para suprimir un mensaje que no sea de error.
  • -e, –rsh = COMANDOes una opción que determina qué shell remoto utilizar para la transferencia de archivos y datos.
  • -T, –temp-dir = USTED es una opción para generar nuevos archivos temporales en un directorio específico.
  • –Progreso es una opción útil que muestra el progreso de la transferencia de archivos.

Paso 3: uso de la utilidad Rsync

Uso básico

Ingrese el siguiente comando para transferir un archivo de una ubicación local a otra:

$ sudo rsync -a /opt/filename.zip /tmp/

Si omite el nombre del archivo en su directorio de destino, Rsync debe copiar el archivo con el nombre establecido actualmente. Para guardar un archivo con su nombre único, debe ingresar su nuevo nombre. Por ejemplo:

$ sudo rsync -a /opt/filename.zip /tmp/newfilename.zip

A continuación, ejecute el siguiente comando para hacer una copia de seguridad de los archivos de su sitio web en una computadora:

$ sudo rsync -a /var/www/domain.com/public_html/ /var/www/domain.com/public_html_backup/

Si la ubicación de destino no está disponible, la utilidad rsysnc la generará automáticamente.

Nota: Rsync procesa un directorio de origen original con la barra inclinada (/). Si se agrega la barra al directorio de origen / original, el rysnc solo transferirá el contenido de este directorio a su carpeta de destino. Cuando se quita la barra, rysnc copia el archivo de origen en su carpeta de destino.

Sincronizar datos hacia / desde un sistema remoto

Como se mencionó anteriormente, Rysnc se puede usar para sincronizar datos hacia o desde su servidor remoto. Para hacer esto, necesita instalar esta utilidad tanto en su computadora de origen como en su sistema de destino.

Nota: Las versiones modernas de la utilidad Rsync utilizan Secure Shell (SSH) como shell remoto preseleccionado.

Ejecute el siguiente comando para transferir un solo directorio desde su computadora local al sistema remoto:

$ sudo rsync -a /opt/media/ remote_user@remote_host_or_ip:/opt/media/

A continuación, ejecute el siguiente comando para mover datos desde una computadora remota a su computadora local:

$ sudo rsync -a remote_user@remote_host_or_ip:/opt/media/ /opt/media/

Si el Secure Shell (SSH) implementado en su sistema remoto solo está escuchando en un puerto diferente y no en el puerto 22, debe agregarlo -mi Marcar en el comando para indicar el nuevo puerto:

$ sudo rsync -a -e "ssh -p 2322" /opt/media/ remote_user@remote_host_or_ip:/opt/media/

Nota: Si desea transferir archivos grandes o cantidades de datos, utilice el -PAG Opción o ejecutar todos los comandos rysnc en una sesión de pantalla diferente.

Excluir exclusiones y archivos

Para excluir un archivo o directorio sin errores, debe utilizar la ruta relativa en cada caso. Rysnc ofrece dos opciones para excluir directorios y archivos:

  • El primero es el –excluir Opción para especificar los directorios y archivos que se excluirán de una línea de comando. Por ejemplo,
$ sudo rsync -a --exclude=node_modules --exclude=tmp /src_directory//dst_directory/

En el comando anterior, excluye que tmp y Módulos de nodo Directorios alojados en el src_directory.

  • La –excluido de es la alternativa de especificar directorios y archivos que se excluirán de un archivo en particular. Por ejemplo:
$ sudo rsync -a --exclude-from='/exclude-file.txt'/src_directory//dst_directory/

En el comando anterior, excluirá tmp y Módulos de nodo de /exclude-file.txt.

Conclusión

Este tutorial le mostró cómo transferir y sincronizar directorios y archivos usando la utilidad Rsync. Visite el sitio web oficial del Manual de usuario de Rysnc para obtener más información sobre esta utilidad.