Відповіді:
Я думаю, що велика різниця полягає в тому, що якщо ви використовуєте rsyncd
на серверному кінці, а не rsync
над ssh
, сервер вже знає, що він має, тому складання списків файлів для визначення того, що потрібно перенести, набагато простіше. Це не матиме значення, якщо ви просто натискаєте на кілька файлів, але якщо ви робите, наприклад, доступ до CPAN через rsync, вам не потрібно буде створювати список файлів на стороні джерела кожен час.
Це старе питання, але є ще одна дуже вагома причина використання rsync
в демон-режимі порівняно з ssh:
У мене є один 10 ТБ NAS, резервного копіювання до іншого 10 ТБ NAS, а обмеження на шифрування лише для тунелю SSH є обмежуючим фактором для передачі. Обидва NAS мають досить низький потужність 1,8 ГГц Intel Atoms, і навіть при більш легких крипто-варіантах для ssh (наприклад, ssh -c arcfour
переданих як ssh-дзвінок до rsync), накладні витрати на шифрування все ще приводять до кращого 200-300 Мбіт / с у гігабітній мережі Ethernet.
Використання демона rsync на одному кінці видаляє криптовалюту та досягає передачі> 800 Мбіт / с для великих, суміжних файлів.
ssh -c arcfour
з'єднання, яке я використовував.
Я не думаю, що порівняння запуску rsyncd з rsync через SSH має багато сенсу. Зазвичай вони використовуються для абсолютно різних речей.
rsync over ssh зазвичай використовується для резервного копіювання або синхронізації серверів через Інтернет. rsyncd зазвичай використовується для таких речей, як дзеркала програмного забезпечення, тому має більше сенсу порівнювати rsyncd із звичайним дзеркалом HTTP або FTP або навіть з бітторент.
Існує також програмне забезпечення типу zsync, яке дозволяє отримати багато переваг rsync під час використання стандартного HTTP-сервера
Функція rsyncd
- запускати на сервері та відповідати на (віддалені) rsync
запити.
(коли ми кажемо, що rsyncd
маємо на увазі rsync
біг демона, а коли ми кажемо «віддалений», ми маємо на увазі віддалений з точки зору роботи машини rsyncd
)
Обидва використали ssh для того, щоб безпечно розмовляти між собою.
Це насправді не питання використання того чи іншого, хоча, якщо rsync
він використовується для копіювання файлів і каталогів на одній машині , я не думаю, що він повинен працювати як демон.
Я думаю, що ця rsync
сторінка пояснює це.
rsyncd (rsyncd з демоном) використовує порт 873 за замовчуванням.
Для цього буде використаний нативний протокол rsync, але нічого не шифрується. Він призначений лише для локальних або надійних мереж.
Якщо ви хочете захистити, завжди потрібно використовувати rsync або rsyncd через SSH, всі ваші передачі даних будуть введені протоколом ssh.