В настоящее время я настраиваю Dirvish на компьютере Linux для резервного копирования содержимого общего ресурса на компьютере Windows.

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

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

При использовании на общем ресурсе Samba rsync на другом компьютере отсутствует, поэтому rsync по-прежнему обеспечивает какое-либо преимущество перед обычным копированием в том, что касается сетевого трафика?

1 ответ1

1

Зачем использовать rsync вместо cp?
Во-первых, я хотел бы процитировать Тима Моргана, который несколько лет назад написал три аргумента в своем блоге, отдавая предпочтение rsync вместо cp:

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

rsync по умолчанию использует меньше трафика, чем cp, даже на общих ресурсах samba
С точки зрения сетевого трафика, cp всегда копирует содержимое файла, а rsync - нет. Поведение rsync по умолчанию (см. Справочную страницу) заключается в том, что он проверяет размер файла и дату / время изменения. Если эти два атрибута совпадают, rsync предполагает, что файл не изменился. Это также работает на акциях Samba. Это поведение можно изменить с помощью флага -c или --checksum , который заставляет rsync всегда выполнять проверку на основе контрольной суммы.

rsync -c использует (немного) больше трафика
Если вы используете флаг -c с rsync, есть издержки отправки списка файлов, что делает rsync, но cp нет, так что я думаю (не проверено) rsync имел (очень!) немного больше, чем cp, если rsync используется с флагом -c.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .