У меня большой iso-образ, который в данный момент загружается торрент-клиентом с включенным резервированием пространства: это означает, что размер файла не меняется, а некоторые фрагменты в (4 Mib) постоянно меняются из-за загрузки.
При загрузке 90% я делаю начальную rsync, чтобы сэкономить время:
$ rsync -Ph DVD.iso / media / another-hdd / отправка списка добавочных файлов DVD.iso 2,60G 100% 40,23 МБ / с 0:01:01 (xfer # 1, to-check = 0/1) отправлено 2.60G байт получено 73 байта 34.59M байт / сек общий размер 2.60G ускорение составляет 1.00
Затем, когда файл полностью загружен, я снова выполняю rsync:
total size is 2.60G speedup is 1.00
Speedup = 1 говорит, что дельта-передача не использовалась, хотя 90% файла не изменилось, целевой каталог находится на другой ФС, и копирование занимает несколько минут. Почему бы не попытаться ускорить передачу ?! Как я могу заставить rsync
использовать дельта-перевод?
Ответы:
Согласно странице руководства , psusi прав:
источник
-no-W
-no-W
не работает только длинный вариант-no-whole-file
. Причина, по которой мне нужен этот переключатель, заключается в том, что я создаю резервную копию и имею большие файлы (например, изображения), которые не имеют одинакового времени модификации. Это НАМНОГО быстрее, ускорение составляет 163,26, чтобы синхронизировать эти файлы, используя дельта-передачу в моей локальной файловой системе.--no-whole-file
(пожалуйста, обратите внимание на двойную--
в начале).Прямой ответ на этот вопрос:
Используйте
--no-W
флаг, чтобы вызвать дельта-сжатие, независимо от того, локально оно или удаленно.Обновление: похоже, что есть еще история.
delta compression
, Кажется, включается только между получать и обрабатывать передачи в Rsync. При выводе файла в файловую систему,rsync
возможно, все равно выписать весь файл (ы), даже если включено дельта-сжатие.Смотрите расследование "Вакан Танка" здесь .
источник
--no-W
всегда передавать весь файл в моем случае. Пожалуйста, проверьте unix.stackexchange.com/questions/291156/…По умолчанию rsync сначала создает новую копию целевого файла, а затем заменяет ее по различным причинам безопасности. Вы можете переопределить это, указав
--inplace
вместе с--no-whole-file
. Это говорит rsync, что нужно выполнить редактирование целевого файла на месте, принимая на себя различные риски (обычно незначительные для этой ситуации), как описано на странице руководства.источник
По умолчанию
rsync
создает копию файла в месте назначения, а затем атомарно заменяет оригинал новой копией. Это сделано из соображений безопасности. То, что вы ищете, это--inplace
опция, которая приведетrsync
к изменению только тех частей файла назначения, которые изменились относительно источника.В случае использования OP я также рекомендую отключить предварительное выделение, чтобы можно было синхронизировать разреженную копию, что будет намного быстрее. Для загрузки не беспокойтесь о фрагментации, если вы не используете очень древнюю файловую систему, такую как VFAT. В частности, файлы мультимедиа не читаются при максимальной производительности носителя, поэтому их дефрагментация является пустой тратой усилий.
Чтобы редко копировать каталог загрузок в целевой том, я рекомендую эти флаги и операции в следующем порядке:
Первый проход будет копировать новые файлы редко в место назначения. Второй проход будет обновлять существующие файлы на месте, копируя только изменения
Поскольку он делает разреженные и размещенные на месте дельта-копии, вы можете запускать его многократно, не неся при этом большого дополнительного ввода-вывода. Даже если у вас одновременно работает 20 торрентов, это не усилит записи в месте назначения и не увеличит объемы источника / места назначения.
источник