Ответы:
Я думаю, что большая разница в том, что если вы используете 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.