Pregunta rsync un archivo ya comprimido


¿rysnc -z tendrá alguna ventaja de compresión si el archivo de entrada ya tiene gzip? Tengo un gran archivo comprimido de 100 GB para enviar a través de la red a través de los servidores y falló sistemáticamente (tubería rota) después de varias horas. Preguntándome si debería probar la bandera -z.


4


origen


Sospecho que estabas buscando el --partial opción, que permite la reanudación de la transferencia, independientemente de lo que salió mal. - FauxFaux


Respuestas:


Comprimir en tránsito un archivo ya comprimido no suele valer la pena el tiempo de CPU. Hay advertencias. En el proceso de comparación de dos archivos, el uso de rsync con compresión puede acelerar la comparación de hashes de los datos.

Si solo desea sincronizar versiones comprimidas de archivos grandes en más de un sistema, un lugar para buscar serían ciertas compilaciones de gzip. En un sistema Ubuntu, obtengo:

$ gzip -h
Uso: gzip [OPTION] ... [FILE] ...
Comprima o descomprima ARCHIVOS (de forma predeterminada, comprima ARCHIVOS en el lugar).

Los argumentos obligatorios para las opciones largas también son obligatorios para las opciones cortas.

  -c, --stdout escribe en salida estándar, mantiene los archivos originales sin cambios
  -d, - descompresión descomprime
  -f, --force overwrite de fuerza de archivo de salida y comprime enlaces
  -h, --help da esta ayuda
  -l, --list lista contenido de archivo comprimido
  -L, --license licencia de software de visualización
  -n, --no-name no guarda ni restaura el nombre original y la marca de tiempo
  -N, --name guarda o restablece el nombre original y la marca de tiempo
  -q, --quiet suprime todas las advertencias
  -r, --recursive opera recursivamente en directorios
  -S, --suffix = SUF usa el sufijo SUF en archivos comprimidos
  -t, prueba de la integridad del archivo comprimido
  -v, --verdo verbose modo
  -V, - número de versión de visualización de la versión
  -1, - compresión rápida más rápido
  -9, - mejor comprimir mejor
    --rsyncable Hacer archivo rsync-friendly

Sin ARCHIVO, o cuando ARCHIVO es -, lea la entrada estándar.

Reportar errores a.

Darse cuenta de --rsyncable ¿opción? Evita el uso de compresión adaptativa, por lo que solo se cambian pequeñas partes del archivo comprimido cuando solo hay un pequeño cambio en el archivo de origen. El resto de los datos binarios no se modifican, por lo que rsync no necesitará retransmitir todo. La página man indica que esta opción no debería aumentar el tamaño del archivo comprimido en más de un 1% en comparación con sin usar la opción, y esa gunzip no sabrá la diferencia.

Tengo un archivo de 468MB sql que compré a 57MB con el --rsyncable opción. Transfiero este archivo a mi sistema local. Luego agrego un comentario de una línea al archivo sql original en el sistema remoto, y recompress con la opción rsyncable.

$ rsync -avvz --progress -h fooboo: foo.sql.gz.
conexión de apertura usando ssh fooboo rsync --server --sender -vvlogDtprz. foo.sql.gz
recibir lista de archivos ...
1 archivo para considerar
transmisión delta habilitada
foo.sql.gz
      59.64M 100% 43.22MB / s 0:00:01 (xfer # 1, to-check = 0/1)
total: coincidencias = 7723 hash_hits = 9468 false_alarms = 0 data = 22366

enviado 54.12K bytes recibidos 22.58K bytes 17.05K bytes / seg
el tamaño total es 59.64M de aceleración es 777.59

No está mal. Rsync solo tuvo que transferir una pequeña cantidad del archivo comprimido más nuevo.


8



Sería bueno comparar lo que usaría la transferencia sin el --rsyncable opción. - Kevin Cox


rsync no hará que un archivo ya comprimido sea significativamente más pequeño durante el tránsito.

Es poco probable que sus transferencias fallidas se solucionen agregando el indicador -z. Sugiero tratar de sincronizar el (los) archivo (s) sin comprimir. rsync se comprime sobre la marcha. Entonces tiene la ventaja de que si el archivo de origen cambia y necesita rsync nuevamente, solo se transferirán los bytes modificados. Si cambia un archivo comprimido, lo más probable es que rsync deba retransmitirlo en su totalidad. Mira aquí para más detalles:

http://beeznest.wordpress.com/2005/02/03/rsyncable-gzip/


2





Utilizando rsync -z no tendrá ninguna ventaja sobre solo rsync cuando se trata de un archivo que ya ha sido comprimido usando un buen formato de compresión. Sin embargo, podría considerar dividir su archivo comprimido en partes más pequeñas, de modo que pueda transmitirlo usando rsync.

Aquí hay una guía para Linux: http://www.techiecorner.com/107/how-to-split-large-file-into-several-smaller-files-linux/ Y para Windows: http://www.online-tech-tips.com/computer-tips/how-to-split-a-large-file-into-multiple-smaller-pieces/


2