GNU/Linux >> Tutoriales Linux >  >> Linux

¿Por qué rsync no usa transferencia delta para archivos locales?

Según la página de manual, psusi tiene razón:

-W, --archivo completo :La transferencia puede ser más rápida si se usa esta opción cuando el ancho de banda entre las máquinas de origen y de destino es mayor que el ancho de banda al disco (especialmente cuando el "disco" es en realidad un sistema de archivos en red). Este es el valor predeterminado cuando tanto el origen como el destino se especifican como rutas locales, pero solo si no hay ninguna opción de escritura por lotes en vigor.


La respuesta directa a esta pregunta es:

Utilice el --no-W bandera para forzar la compresión delta, sin importar si es local o remota.

Actualización: Parece que hay más en la historia. El delta compression parece estar habilitado solo entre el proceso de recepción y transmisión de rsync. Al enviar el archivo al sistema de archivos, rsync aún puede escribir todo el archivo(s), incluso con la compresión delta activada.

Vea la investigación de "Wakan Tanka" aquí.

Actualización 2: El --inplace La opción escribe solo las partes modificadas del archivo. Sin embargo, tenga en cuenta que entra en conflicto con --sparse y no se recomienda, según el manual, cuando se utiliza el archivo de destino.


De forma predeterminada, rsync primero crea una nueva copia del archivo de destino y luego la reemplaza, por varias razones de seguridad. Puede anular esto especificando --inplace junto con --no-whole-file . Esto le dice a rsync que realice una edición en el lugar del archivo de destino, aceptando los diversos riesgos (generalmente menores para esta situación) como se documenta en la página de manual.


Linux
  1. ¿Cuándo y por qué debo usar Apt-get Update?

  2. ¿Esperar a que terminen de descargarse varios archivos?

  3. ¿Por qué stdout necesita un vaciado explícito cuando se redirige al archivo?

  4. ¿Por qué usar shm_open?

  5. ¿Por qué Windows no reconoce los archivos dentro de las particiones de Linux?

Por qué uso exa en lugar de ls en Linux

Cómo usar CherryTree para tomar notas

Comando ls en Linux para listar archivos

¿Por qué `zip` en un bucle For funciona cuando el archivo existe, pero no cuando no existe?

¿Cuándo no lo son los archivos ejecutables?

¿Por qué Gedit sigue abriendo aleatoriamente nuevas instancias al abrir archivos desde Nautilus?