• Copiar con rsync archivos grandes en varias sesiones

    Supongamos que estamos transfiriendo un archivo grande con rsync y la conexión se interrumpe a mitad de la transferencia. El archivo incompleto se eliminaría y tendríamos que empezar de nuevo. Para estos casos, hay un parámetro de rzyn que nos puede resultar muy útil y que nos permitirá reanudar la transferencia desde donde se interrumpió.

    El comando completo sería algo así:

    rsync -a -v --progress --partial --append-verify /Directorio/De/Origen/ /Directorio/De/Destino/

    EXPLICACIÓN

    • -a: Conserva los atributos de los archivos.
    • -v: Verbose
    • –progress: Muestra el progreso de la copia en MB/s.
    • –partial: Activa el resumir la copia si ésta se interrumpe.
    • –append-verify: Si sabemos que los archivos parciales están intactos, es decir, que no se tocaron después de que la copia se haya interrumpido,  este parámetro, primero verifica los datos existentes antes de agregar nuevos datos y luego, si la verificación es correcta, comienza a copiar el resto faltante del archivo. Esto es muy útil para no tener que rehacer todo el archivo desde cero.

    EXTRA 1: Si la razón por la que la copia se interrumpe es que el disco de destino es una auténtica basura y se le llena rápido el buffer, podemos limitar la velocidad a la que se copian los datos, agregando el parámetro –bwlimit=10240. Eso nos limitaría la escritura a 10 MB/s y podría hacer que el disco de destino tenga tiempo de sobra para vaciar el buffer de escritura.

    EXTRA 2: También es posible utilizar el argumento –partial-dir para especificar un directorio para almacenar los archivos parciales. Esto puede ser útil para mantener el directorio de destino limpio. Ejemplo:

    rsync -av --partial --partial-dir=.rsync-partials /Directorio/De/Origen/ /Directorio/De/Destino/

    En este caso, los archivos parciales se almacenarán en un subdirectorio oculto .rsync-partials dentro del directorio de destino.


    Deja una respuesta