Ответы:
Я думаю, что большая разница в том, что если вы используете rsyncdсерверную часть, а не rsyncболее ssh, сервер уже знает, что у него есть, поэтому создание списков файлов для определения того, что необходимо передать, намного проще. Это не будет иметь значения, если вы просто просматриваете несколько файлов, но если вы делаете, например, CPAN доступным через rsync, вам не нужно создавать список файлов каждый раз на стороне источника. время.
Это старый вопрос, но есть другая очень веская причина для использования rsyncв режиме демона по сравнению с ssh:
У меня есть одно NAS-хранилище на 10 ТБ, резервное копирование на другое NAS-хранилище на 10 ТБ, и накладные расходы на шифрование только для туннеля SSH являются ограничивающим фактором для передачи. Оба NAS имеют достаточно маломощный Intel Atom с частотой 1,8 ГГц и даже с более простыми вариантами шифрования для ssh (например, ssh -c arcfourпередаваемыми как ssh-вызов rsync), затраты на шифрование по-прежнему приводят в лучшем случае к 200-300 Мбит / с в гигабитной сети Ethernet.
Использование демона rsync на одном конце устраняет издержки шифрования и обеспечивает передачу данных со скоростью> 800 Мбит / с для больших непрерывных файлов.
ssh -c arcfourсоединения, которое я использовал.
Я не думаю, что сравнение работы rsyncd с rsync через SSH имеет смысл. Они обычно используются для совершенно разных вещей.
rsync через ssh обычно используется для резервного копирования или синхронизации серверов через Интернет. Обычно rsyncd используется для таких вещей, как программные зеркала, поэтому имеет смысл сравнивать rsyncd с обычным зеркалом HTTP или FTP или даже с bittorrent.
Существует также программное обеспечение, такое как zsync, которое позволяет вам использовать многие преимущества rsync при использовании стандартного HTTP-сервера.
Функция rsyncdсостоит в том, чтобы запускаться на сервере и отвечать на (удаленные) rsyncзапросы.
(когда мы говорим, что rsyncdимеем в виду rsyncработать как демон, а когда мы говорим «удаленный», мы имеем в виду удаленный с точки зрения работающей машины rsyncd)
Оба будут использовать ssh для безопасного общения друг с другом.
На самом деле это не вопрос использования одного или другого, хотя, если rsyncон используется для копирования файлов и каталогов на одном компьютере , я не думаю, что он должен работать как демон.
Я думаю, что rsyncстраница справки проясняет это.
rsyncd (rsyncd с демоном) по умолчанию использует порт 873.
Это будет использовать собственный протокол rsync, но ничего не шифрует. Он предназначен только для локальных или доверенных сетей.
Если вы хотите обеспечить безопасность, вы всегда должны использовать rsync или rsyncd по SSH, все ваши данные будут переданы по протоколу ssh.