Rsync solo cambió archivos

14

¿Es posible rsynctransferir todos los archivos en un directorio que han cambiado o se han creado? No necesito algo tan sofisticado como una comprobación de diferencias de CRC; los archivos con diferentes marcas de tiempo y / o tamaños de archivo cuentan como cambios.

La página del manual me da la impresión de que debería ser posible, pero necesito una pequeña guía sobre qué conjunto de parámetros pasar rsync.

instancia de Tom
fuente

Respuestas:

19

Para sincronizar solo dos directorios:

$ rsync /source/path/* /dest/path/

O si quieres hacer un árbol completo:

$ rsync -a /source/path/ /dest/path/

"-a" especifica el modo "archivo", donde duplica el árbol lo más cerca posible.

Me gusta agregar las banderas vy Pallí para poder verlo funcionar:

$rsync -avP /source/path/ /dest/path/

"-v" activa el modo detallado, para que pueda ver lo que está haciendo (enumera los archivos a medida que se copian), y "-P" permite el progreso, para que pueda ver cuánto tiempo lleva copiar cada archivo (porcentaje copiado, tiempo restante, etc.), y le permite ver qué tan lejos está la copia.

Majenko
fuente
3
... y quizás agregue la bandera z para usar la compresión para la transferencia
Linker3000
44
... si te estás transfiriendo a una ubicación remota
Majenko
14

Así es como rsyncfunciona por defecto (al menos en Linux). Desde la página del manual :

Rsync encuentra archivos que necesitan ser transferidos usando un algoritmo de "verificación rápida" (por defecto) que busca archivos que han cambiado de tamaño o en el último tiempo modificado. Cualquier cambio en los otros atributos conservados (según lo solicitado por las opciones) se realiza directamente en el archivo de destino cuando la comprobación rápida indica que no es necesario actualizar los datos del archivo.

Rob H
fuente
Ah, me había confundido al leer mal la documentación. Gracias :)
instanceofTom