¿Cómo hacer que rsync divida archivos en bits más pequeños y los combine al finalizar?

¿Cómo hacer que rsync divida archivos en bits más pequeños y los combine al finalizar?

Tengo una conexión a Internet en casa complicada, es posible que rsync se desconecte en cualquier momento y mis archivos grandes tendrán que reiniciarse desde el principio.

¿Hay alguna manera de dividir, digamos, un archivo de un GB en incrementos de 50 MB, enviarlos al destino y luego combinarlos? De esa manera, incluso si el archivo está cortado, tendré un porcentaje guardado en el otro extremo.

Respuesta1

Esta persona ya dio una gran explicación: https://unix.stackexchange.com/a/165417/446381

Entonces, si quiero lograr mi objetivo, debo usar la --append-verifybandera con rsync.

Me --partialparece un poco redundante. Se transfiere como archivos ocultos y luego se le cambia el nombre para que sea el archivo parcial. Lo cual no me gusta, porque un control-C podría interrumpir este proceso de cambio de nombre.

Respuesta2

Versión corta: para que rsync se reinicie mejor donde lo dejó, agregue la --inplacebandera. No es necesario dividir archivos grandes.

Versión más larga:

Dividir el archivo en archivos más pequeños y transferirlos cada uno es una buena idea. Sin embargo, estás trabajando demasiado. Internamente, rsync divide los archivos en fragmentos de 64k... más o menos. Hay una manera de hacer rsynclo que quieras: agregar la --inplacebandera.

Veamos el problema más grande que estás teniendo: tu conexión a Internet no es confiable y necesitas una forma de enviar archivos grandes.

Si usa --inplacela bandera (que implica --partial), obtendrá el resultado deseado. Cada vez que se interrumpe una transferencia, rsyncdejará los archivos en un estado que haga eficiente continuar donde lo dejó la próxima vez que ejecute (lo mismo) rsync.

Simplemente use --inplacey ejecute el comando rsync varias veces hasta que todo se copie.

Si es muy paranoico, una vez que todos los archivos se hayan copiado correctamente, haga una pasada más agregando el indicador --checksum( -c). Esto realizará una nueva verificación muy lenta byte por byte en lugar de usar la marca de tiempo del archivo para saber qué archivos se pueden omitir. Dado que todos los archivos ya se copiaron correctamente, no debería encontrar más trabajo que hacer. Dicho esto, a veces hago esto solo para estar tranquilo. No desea utilizar este indicador durante las ejecuciones iniciales porque será muy lento y derrochador ya que volverá a leer cada bloque de cada archivo.

información relacionada