Saltar al contenido

Reanudar la transferencia de un solo archivo por rsync

Solución:

Para reanudar una copia interrumpida, debe usar rsync --append. De la explicación de la página de manual de --append:

Esto hace que rsync actualice un archivo agregando datos al final del archivo, que
supone que los datos que ya existen en el lado de recepción son idénticos al inicio del archivo en el lado de envío. […] Implica --inplace, […]

Opción --inplace marcas rsync (sobre) escriba el contenido del archivo de destino directamente; sin --inplace, rsync haría:

  1. crear un nuevo archivo con un nombre temporal,
  2. copiar contenido actualizado en él,
  3. intercambiarlo con el archivo de destino, y finalmente
  4. elimine la copia antigua del archivo de destino.

El modo de funcionamiento normal evita principalmente conflictos con aplicaciones que pueden tener el archivo de destino abierto y algunos otros contratiempos que se enumeran debidamente en el rsync página de manual.

Tenga en cuenta que, si falla una operación de copia / actualización en los pasos 1 a 3. encima,
rsync eliminará el archivo de destino temporal; los --partial
opción desactiva este comportamiento y rsync dejará archivos temporales parcialmente transferidos en el sistema de archivos de destino. Por lo tanto, reanudar una operación de copia de un solo archivo no ganará mucho a menos que llame al primero rsync con --partial o
--partial-dir (mismo efecto que --partial, además instruye rsync
para crear todos los archivos temporales en un directorio específico).

Sé consciente de --append implica --inplace, que en sí mismo implica --partial.

  • Simplemente usando --partial deberías causar rsync dejar traspasos parciales y reanudarlos en intentos posteriores.

  • Mediante el uso --append deberías causar rsync para dejar archivos parciales y reanudarlos la próxima vez. Después de la transferencia rsync debe verificar la suma de comprobación de los datos transmitidos únicamente.

  • --append-verify incluye todo el archivo en la verificación de la suma de comprobación, incluida cualquier parte transferida en una transferencia anterior.

  • Con cualquiera --append o --append-verify una verificación de suma de comprobación fallida debería hacer que el archivo se retransmita por completo (utilizando --inplace)

Debería poder reanudar un mv o cp operación con rsync pero es posible que desee utilizar el --append-verify opción para su tranquilidad.

Tenga en cuenta que el uso --append causas rsync copiar solamente aquellos archivos que tienen su tamaño en el receptor más corto que el tamaño en el remitente (independientemente de las marcas de tiempo), o están ausentes en el receptor. Por documentación sobre esta opción:

Si es necesario transferir un archivo y su tamaño en el receptor es igual o mayor que el tamaño del remitente, el archivo se omite.

Más información en la página de manual

David Schwartz tiene razón, --partial (o mejor, -P) hace lo que quiere. Verifiqué esto en un archivo 37G que se detuvo ~ 8g en él, a través de una red. rsync escaneó rápidamente las primeras partes del parcial (mostrando el progreso a medida que avanzaba gracias a -P) y luego reanudó la transferencia hasta el final del archivo parcial.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *