Различие Rsync между - контрольная сумма и - опции игнорировать-времен

Что относительно http://www.timesnapper.com/

У меня нет особого опыта этого продукта, но он делает то, что Вы хотите?

97
задан 9 December 2010 в 22:15
5 ответов

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

--ignore-times говорит rsync выключить file-times-and-sizes эвристику и таким образом безусловно передать ВСЕ файлы от источника до места назначения. rsync затем продолжит читать каждый файл на исходной стороне, так как это должно будет или использовать свой алгоритм передачи дельты или просто отправить каждый файл в целом, в зависимости от ли --whole-file опция была указана.

--checksum также изменяет file-times-and-sizes эвристику, но здесь она игнорирует времена и исследует только размеры. Файлы на источнике и целевых сторонах, которые отличаются по размеру, передаются, так как они очевидно отличаются. Файлы с тем же размером проверены суммированием (с MD5 в rsync версия 3.0.0 +, или с MD4 в более ранних версиях), и те, которые, как находят, имели отличающиеся суммы также передаются.

В случаях, где источник и целевые стороны являются главным образом тем же, --checksum приведет к большинству файлов, являющихся проверенным суммированием с обеих сторон. Это могло занять много времени, но результат - то, что самый голый минимум данных будет на самом деле передан по проводу, особенно если алгоритм передачи дельты будет использоваться. Конечно, это - только победа, если у Вас есть очень медленные сети и/или очень быстрый ЦП.

--ignore-times, с другой стороны, отправит больше данных по сети, и это заставит все исходные файлы быть считанными, но по крайней мере это не наложит дополнительную нагрузку вычислений многих криптографически сильных hashsums на источнике и целевых центральных процессорах. Я ожидал бы эту опцию работать лучше, чем --checksum когда Ваши сети быстры, и/или Ваш относительно медленный ЦП.

Я думаю, что только когда-либо использовал бы --checksum или --ignore-times если я передавал файлы месту назначения, где подозревалось, что содержание некоторых файлов было повреждено, но чье время изменения не было изменено. Я не могу действительно думать ни о каком другом серьезном основании использовать любую опцию, хотя существуют, вероятно, другие примеры использования.

101
ответ дан 28 November 2019 в 19:21

От info rsync в отношении --checksum опция - "Начиная с этого вычисления контрольной суммы целого файла всех файлов с обеих сторон соединения происходит в дополнение к автоматическим проверкам контрольной суммы, которые происходят во время передачи файла, эта опция может быть довольно медленной".

2
ответ дан 28 November 2019 в 19:21

--ignore-times опция, вероятно, приведет ко всей закодированной дельте файлов, и алгоритм передачи дельты (кодирование дельты) является, по крайней мере, столь же медленным как вычисление контрольной суммы.

Я не знаю если rsync --ignore-times достаточно умно для предотвращения "автоматической проверки после-того,-как-передачи" в частом случае, когда передача дельты не приведет ни к чему передаваемому.

Для --ignore-times:

  • В случае, если rsync не умен (или не доверяет кодированию дельты), затем, проверка (вычисление контрольной суммы и кодирование) будет сделана дважды.
  • Могло также иметь место, что кодирование дельты намного медленнее, чем 128-разрядное вычисление контрольной суммы MD4.

Оба --checksum и --ignore-times будет "довольно медленным", но --ignore-times вероятно, еще медленнее (из-за этих 2 возможностей выше).

Хороший вопрос - отправьте при нахождении каких-либо различий в производительности на практике.

2
ответ дан 28 November 2019 в 19:21

Одна деталь: опция контрольной суммы проверяет весь файл на одном конце, затем весь файл на другом конце. Если ваши файлы несколько большие, это убивает параллелизм.

Кроме того, если у вас большие файлы, вы, скорее всего, столкнетесь с тайм-аутом с - контрольной суммой , в отличие от -I .

4
ответ дан 28 November 2019 в 19:21

контрольная сумма также полезна, если вы использовали другую систему для синхронизации файлов, в которой не сохранились метки времени. Контрольная сумма будет транслировать только файлы, которые отличаются И обновлять все временные метки на принимающей стороне так, чтобы они совпадали

.
17
ответ дан 28 November 2019 в 19:21

Теги

Похожие вопросы