Inicio > Gestión de archivos y directorios > rsync-dry-run

rsync-dry-run: Vista previa de la ejecución de rsync

rsync-dry-run es una función que muestra de antemano qué archivos se copiarán, eliminarán o modificarán si se ejecuta un comando rsync, sin realizar transferencias o cambios de archivos reales. Esto se implementa principalmente utilizando la opción 'rsync -n' o 'rsync --dry-run'. Es una salvaguardia esencial para prevenir resultados inesperados antes de manipular datos importantes.

Descripción general

El modo de ejecución simulada (dry-run) de rsync simula el efecto del comando antes de realizar la operación real, mostrando al usuario los cambios por adelantado. Esto es particularmente importante al ejecutar comandos rsync complejos que incluyen operaciones destructivas, como la opción `--delete`.

Beneficios clave

  • Prevención de pérdida de datos: Detecta de antemano eliminaciones o sobrescrituras de archivos no deseadas.
  • Verificación de cambios inesperados: Identifica con precisión qué archivos se transferirán o modificarán.
  • Validación de comandos: Asegura que las combinaciones complejas de opciones de rsync funcionen correctamente.
  • Ahorro de tiempo: Filtra operaciones innecesarias de antemano en transferencias a gran escala.

Opciones principales

Dado que rsync-dry-run en realidad utiliza las opciones del comando rsync, aquí se describen las opciones principales de rsync que se usan comúnmente junto con la ejecución simulada.

Opciones relacionadas con la ejecución simulada

Opciones generales de rsync (usadas con ejecución simulada)

Comando generado:

Combina los comandos.

Descripción:

`rsync-dry-run` Ejecutando el comando.

Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.

Ejemplos de uso

Varios escenarios que utilizan el modo de ejecución simulada de rsync. Todos los ejemplos muestran los resultados sin realizar cambios reales.

Ejecución simulada básica

rsync -avn /path/to/source/ /path/to/destination/

Verifica de antemano qué archivos se transferirán al sincronizar el contenido del directorio de origen con el directorio de destino.

Vista previa con opción de eliminación

rsync -avn --delete /path/to/source/ /path/to/destination/

Verifica de antemano qué archivos se eliminarán si se eliminan archivos que solo existen en el directorio de destino. Este es un paso muy importante.

Ejecución simulada a un servidor remoto

rsync -avn /path/to/local/ user@remote_host:/path/to/remote/

Verifica de antemano qué archivos se transferirán antes de transferir archivos a un servidor remoto.

Ejecución simulada con exclusión e inclusión de archivos específicos

rsync -avn --exclude='*.log' --include='data/' --include='*/' --exclude='*' /path/to/source/ /path/to/destination/

Verifica cómo se aplicarán reglas de filtrado complejas que excluyen archivos con extensiones específicas e incluyen solo directorios específicos.

Consejos y precauciones

Consejos y puntos a tener en cuenta para utilizar eficazmente la función de ejecución simulada de rsync.

Utilice siempre primero la ejecución simulada

Especialmente cuando utilice la opción `--delete` o reglas de filtrado complejas, asegúrese de verificar los resultados utilizando la opción `-n` antes de ejecutar el comando rsync real. Esta es la mejor manera de prevenir la pérdida de datos irreversible.

  • **La seguridad es lo primero:** Al sincronizar datos importantes, comience siempre con `rsync -avn ...`.
  • **Analizar la salida:** Revise cuidadosamente la salida de la ejecución simulada para asegurarse de que no haya nada inesperado.

Verificar la instalación de rsync

rsync está instalado por defecto en la mayoría de los sistemas Linux, pero si no lo está, debe instalarlo a través de un administrador de paquetes. (Ej: `sudo apt install rsync` o `sudo yum install rsync`) Dado que rsync-dry-run utiliza opciones del comando rsync, rsync debe estar instalado.

Importancia de la barra inclinada (/)

La operación de rsync varía según si se agrega una barra inclinada (/) al final de la ruta de origen. Puede comprender claramente esta diferencia con una ejecución simulada.

  • `source/`: Copia el *contenido* del directorio source al directorio de destino.
  • `source`: Copia el directorio source *en sí* dentro del directorio de destino.

Comandos de la misma categoría