Вопрос rsync уже сжатый файл


будет ли rysnc -z иметь какое-либо преимущество при сжатии, если входной файл уже скремблирован? У меня есть большой сжатый файл объемом 100 ГБ для отправки по сети через серверы, и он последовательно терпел неудачу (сломанный трубопровод) через некоторое время. Удивление, если я должен попробовать флаг -z.


4
2017-08-18 07:44


происхождения


Я подозреваю, что вы искали --partial вариант, который позволяет возобновить передачу, независимо от того, что пошло не так. - FauxFaux


ответы:


Сжатие в пути уже сжатого файла обычно не стоит процессорного времени. Есть предостережения. В процессе сравнения двух файлов использование rsync со сжатием может ускорить сравнение хэшей данных.

Если вы хотите синхронизировать сжатые версии больших файлов более чем в одной системе, одно место для поиска - это определенные сборки gzip. В системе Ubuntu я получаю:

$ gzip -h
Использование: gzip [OPTION] ... [FILE] ...
Сжимайте или распаковывайте FILE (по умолчанию сжимайте FILES на месте).

Обязательные аргументы для длинных опций также обязательны для коротких опций.

  -c, --stdout записывать на стандартный вывод, сохранять исходные файлы без изменений
  -d, --decompress распаковать
  -f, --force принудительно перезаписать выходной файл и сжать ссылки
  -h, --help дать эту помощь
  -l, --list список содержимого сжатого файла
  -L, - лицензия на программное обеспечение для отображения лицензий
  -n, --no-name не сохранять и не восстанавливать исходное имя и отметку времени
  -N, - имя сохранить или восстановить исходное имя и отметку времени
  -q, --quiet подавлять все предупреждения
  -r, --рекурсивно рекурсивно работают в каталогах
  -S, --suffix = SUF использовать суффикс SUF для сжатых файлов
  -t, --test проверить целостность сжатого файла
  -v, --verbose подробный режим
  -V, - версия версии дисплея
  -1, - быстрый сжимать быстрее
  -9, - лучше всего сжать
    --rsyncable Сделать архив rsync-friendly

Без FILE или FILE - читайте стандартный ввод.

Сообщить об ошибках.

Заметить, что --rsyncable вариант? Он избегает использования адаптивного сжатия, так что только небольшие фрагменты сжатого файла изменяются, когда есть только небольшое изменение исходного файла. Остальная часть двоичных данных не изменяется, так что rsync не потребуется повторно передавать все это. Страница руководства указывает, что этот параметр не должен увеличивать размер сжатого файла более чем на 1% по сравнению с без использования опции, и что gunzip не будет знать разницу.

У меня есть файл размером 468 МБ, который я сжал до 57 МБ с помощью --rsyncable вариант. Я переношу этот файл в свою локальную систему. Затем я добавляю комментарий одной строки к исходному файлу sql в удаленной системе и повторно сжимаю параметр rsyncable.

$ rsync -avvz -progress -h fooboo: foo.sql.gz.
открытие соединения с использованием ssh fooboo rsync --server --sender -vvlogDtprz. foo.sql.gz
получение списка файлов ...
1 файл для рассмотрения
дельта-передача включена
foo.sql.gz
      59.64M 100% 43.22MB / s 0:00:01 (xfer # 1, to-check = 0/1)
total: matches = 7723 hash_hits = 9468 false_alarms = 0 data = 22366

отправлено 54.12K байт получено 22.58K байт 17.05K байт / с
общий размер 59,64M ускорение - 777,59

Неплохо. Rsync только должен был передать небольшое количество нового сжатого файла.


8
2017-11-20 16:13



Было бы неплохо сравнить то, что передача будет использовать без --rsyncable вариант. - Kevin Cox


rsync не сделает значительно сжатый файл во время транспортировки значительно сжатым.

Маловероятно, что ваши неудачные переводы будут исправлены добавлением флага -z. Я бы предложил попробовать rsync файл (ы) без сжатия. rsync затем сжимается на лету. Тогда у вас есть преимущество в том, что если исходный файл изменится и вам снова понадобится rsync, будут переданы только измененные байты. Если вы измените сжатый файл, rsync, скорее всего, придется повторно передать его целиком. Подробнее см. Здесь:

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


2
2017-08-18 08:21





С помощью rsync -z не будет иметь никаких преимуществ перед rsync при работе с файлом, который уже был сжат с использованием хорошего формата сжатия. Однако вы можете рассмотреть возможность разделения сжатого файла на более мелкие части, чтобы вы могли передавать его с помощью rsync.

Вот руководство для Linux: http://www.techiecorner.com/107/how-to-split-large-file-into-several-smaller-files-linux/ И для Windows: http://www.online-tech-tips.com/computer-tips/how-to-split-a-large-file-into-multiple-smaller-pieces/


2
2017-08-18 08:40