Para reanudar una copia interrumpida, debe usar rsync --append
. De la explicación de la página del manual de --append
:
Esto hace que rsync actualice un archivo agregando datos al final del archivo, lo quepresume que los datos que ya existen en el lado receptor son idénticos al inicio del archivo en el lado emisor. [...] implica --inplace
, [...]
Opción --inplace
hace rsync
(sobre) escribir directamente el contenido del archivo de destino; sin --inplace
, rsync
haría:
- crear un nuevo archivo con un nombre temporal,
- copie el contenido actualizado en él,
- intercámbielo con el archivo de destino y, finalmente,
- elimine la copia anterior 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 percances que se enumeran debidamente en el rsync
página de manual.
Tenga en cuenta que, si una operación de copia/actualización falla en los pasos 1.-3. arriba, rsync
eliminará el archivo de destino temporal; el --partial
opción deshabilita este comportamiento y rsync
dejará los 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 primer 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).
Tenga en cuenta que --append
implica --inplace
, que en sí implica --partial
.
-
Simplemente usando
--partial
deberías causarrsync
para dejar transferencias parciales y reanudarlas en intentos posteriores. -
Usando
--append
deberías causarrsync
para dejar archivos parciales y reanudarlos la próxima vez. Después de la transferenciarsync
debe verificar la suma de verificación de los datos transmitidos solamente. -
--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
--append
o--append-verify
una verificación de suma de verificación fallida debería hacer que el archivo se retransmita por completo (usando--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 usar --append
causas rsync
para copiar solo aquellos archivos que tienen un tamaño en el receptor más corto que el tamaño del 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 en el remitente, el archivo se omite.
Más información en la página man
David Schwartz tiene razón, --partial
(o mejor, -P
) hace lo que quieres. Verifiqué esto en un archivo 37G que se detuvo ~8g, a través de una red. rsync escaneó rápidamente las primeras partes del parcial (mostrando el progreso gracias a -P
), y luego reanudó la transferencia hasta el final del archivo parcial.