Aprende a usar rsync para copiar y respaldar archivos

Comandos de linux - rsync

Rsync es un comando de Linux que se utiliza para sincronizar archivos y directorios de forma local o remota. Permite la transferencia eficiente de datos utilizando un algoritmo de sincronización delta, que solo transfiere las partes de un archivo que han cambiado, en lugar de transferir todo el archivo completo. Esto hace que la sincronización sea más rápida y eficiente.

Índice

Usos mas comunes del comando rsync

Algunos de los usos más comunes utilizados con rsync son:

  • rsync [opciones] origen destino: Este comando se utiliza para sincronizar archivos y directorios entre una carpeta de origen y una carpeta de destino. Se pueden agregar opciones adicionales, como -a para sincronizar recursivamente y conservar los permisos y las fechas de los archivos.
  • rsync -e ssh [opciones] origen usuario@servidor:destino: Este comando se utiliza para sincronizar archivos y directorios entre una carpeta de origen y una carpeta de destino en un servidor remoto utilizando SSH. La opción -e especifica el comando para conectarse al servidor remoto.
  • rsync --delete [opciones] origen destino: Este comando se utiliza para sincronizar archivos y directorios, eliminando cualquier archivo o directorio en la carpeta de destino que no exista en la carpeta de origen.
  • rsync --dry-run [opciones] origen destino: Este comando se utiliza para realizar una prueba de sincronización sin realizar ninguna acción. Esto es útil para verificar qué archivos se sincronizarán antes de realizar la sincronización real.
  • rsync --exclude [patrón] [opciones] origen destino: Este comando se utiliza para excluir archivos o directorios específicos de la sincronización. El patrón especificado en la opción --exclude se aplica a los archivos y directorios que se sincronizarán.

Estos son solo algunos de los comandos más comunes que se utilizan con rsync en Linux. Hay muchas opciones y configuraciones adicionales que se pueden utilizar para personalizar la sincronización según las necesidades específicas.

Ejemplos con rsync

Copiar un archivo local a un servidor remoto:

El siguiente comando copia el archivo local "archivo.txt" al servidor remoto con dirección IP "192.168.1.100" y lo guarda en el directorio "/home/usuario":

rsync archivo.txt usuario@192.168.1.100:/home/usuario

Copiar un archivo remoto a una carpeta local:

El siguiente comando copia el archivo remoto "archivo.txt" al directorio local "/home/usuario/carpeta":

rsync usuario@192.168.1.100:/home/usuario/archivo.txt /home/usuario/carpeta

Sincronizar un directorio local con un directorio remoto:

El siguiente comando sincroniza el directorio local "/home/usuario/misdocumentos" con el directorio remoto "/home/usuario/misdocumentos" del servidor remoto con dirección IP "192.168.1.100":

rsync -avz /home/usuario/misdocumentos usuario@192.168.1.100:/home/usuario/misdocumentos

Sincronizar un directorio remoto con un directorio local:

El siguiente comando sincroniza el directorio remoto "/home/usuario/misdocumentos" con el directorio local "/home/usuario/misdocumentos":

rsync -avz usuario@192.168.1.100:/home/usuario/misdocumentos /home/usuario/misdocumentos

Excluir archivos y carpetas de una sincronización:

El siguiente comando sincroniza el directorio local "/home/usuario/misdocumentos" con el directorio remoto "/home/usuario/misdocumentos" del servidor remoto con dirección IP "192.168.1.100", excluyendo la carpeta "archivos_backup" y los archivos con extensión ".bak":

rsync -avz --exclude 'archivos_backup/' --exclude '*.bak' /home/usuario/misdocumentos usuario@192.168.1.100:/home/usuario/misdocumentos

Sincronizar un directorio local con otro directorio local:

El siguiente comando sincroniza el directorio local "/home/usuario/misdocumentos" con el directorio local "/home/usuario/respaldos/misdocumentos":

rsync -avz /home/usuario/misdocumentos /home/usuario/respaldos/

Sincronizar un directorio remoto con otro directorio remoto:

El siguiente comando sincroniza el directorio remoto "/home/usuario/misdocumentos" con el directorio remoto "/home/usuario/respaldos/misdocumentos" del servidor remoto con dirección IP "192.168.1.100":

rsync -avz usuario@192.168.1.100:/home/usuario/misdocumentos usuario@192.168.1.

Copiar/sincronizar archivos y directorios remotamente

El comando "rsync" se utiliza para sincronizar archivos y directorios entre dos ubicaciones, ya sea en la misma máquina o entre máquinas remotas. La opción "avz" se utiliza para especificar varias opciones para la operación de sincronización:

  • -a: Activa el modo de archivo, que es una forma de copiar los archivos y directorios manteniendo las propiedades y permisos originales, así como la recursión en los directorios. Es similar a la opción "-rlptgoD" que incluye la recursión, la conservación de enlaces simbólicos, la conservación de permisos y propietarios, la conservación de fechas y horas, la conservación de dispositivos especiales y conservación de enlaces duros.
  • -v: Activa la opción de "verboso" o modo detallado. Muestra información detallada sobre el proceso de sincronización, lo que es útil para el seguimiento de lo que está ocurriendo.
  • -z: Habilita la compresión durante la transferencia de archivos. Esto puede acelerar la transferencia de archivos a través de redes lentas, ya que reduce el tamaño de los datos transferidos.

Como vimos rsync avz es un comando de Linux utilizado para sincronizar y transferir archivos entre sistemas de forma eficiente. La opción "avz" indica que se deben preservar los atributos de archivo, comprimir los datos durante la transferencia y utilizar un algoritmo de verificación para garantizar la integridad de los datos.

En conclusión, como vimos en los numerosos ejemplos **rsync** ofrecen una solución poderosa y eficiente para la sincronización y copia de archivos entre diferentes sistemas. Desde la capacidad de copiar archivos localmente o a través de la red, hasta la opción de mantener la sincronización continua de directorios, rsync proporciona una serie de funcionalidades que simplifican las tareas de respaldo y transferencia de datos. Además, su capacidad para realizar copias incrementales y su soporte para la compresión y encriptación de datos lo convierten en una herramienta versátil y segura.

Si has encontrado útil esta entrada sobre los comandos de rsync en Linux, te animamos a compartir y comentar tu experiencia. También nos encantaría recibir sugerencias sobre temas específicos que te gustaría que abordemos en futuros artículos.

¡Estamos aquí para ayudarte a explorar y aprovechar al máximo el mundo de Linux y sus herramientas!

Subir