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:
- crear un nuevo archivo con un nombre temporal,
- copiar contenido actualizado en él,
- intercambiarlo con el archivo de destino, y finalmente
- 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 causarrsync
dejar traspasos parciales y reanudarlos en intentos posteriores. -
Mediante el uso
--append
deberías causarrsync
para dejar archivos parciales y reanudarlos la próxima vez. Después de la transferenciarsync
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.