На этот вопрос трудно ответить, поскольку нет никаких формальных определений тех условий, и различные люди будут использовать их по-другому. Я здесь только даю свое использование их, у других будут различные точки если представление.
Для меня инструмент и утилита являются синонимами. Я использую слова для небольших программ, которые просто делают одно небольшое задание. Я звонил бы, например, все приложения реализованный как апплеты в busybox инструментах или утилите.
Любое приложение является программой для меня. Т.е. 'ls' является инструментом, утилитой и программой. Firefox является программой, но я не назвал бы его ни инструментом, ни утилитой.
Многие, но я процитирую некоторых первое, что пришло на ум.
Что, если ssh/rsh не доступны на удаленном сервере или если они повреждаются с точки зрения конфигурации или более строгих сетевых правил? Используя rsh/ssh все еще потребовал бы клиента (зависит от отправителя или роли получателя), удаленная сторона должна была бы однако разветвить rsync двоичный файл локально и установить соединение с процессом rsync, работающим в локальной стороне. rsh/ssh просто обеспечил бы туннель соединения; что касается rsync, rsync общается с другим процессом rsync по каналу (каналам).
Наличие режима демона rsync процесс сделало бы сервер истинным сервером двойника ftp, где некоторые файловые системы могут быть сделаны доступными через rsync модули. Всего остального можно избежать. Скажите, что я хочу сделать доступным только/usr/local и / var для загрузки и отказаться от запроса любого rsync клиента на другие загрузки. Я могу использовать усмотрение на уровне хоста или на файловой системе (модули) уровень для разрешения или загрузки или загрузки (только для чтения).
Может управлять доступом хоста/уровня пользователя, аутентификацией, авторизацией, входом и файловой системой (структура) модули для загрузки/загрузки конкретно через конфигурационный файл. Каждый раз изменение внесено в конфигурационный файл, rsyncd --daemon
не должен быть перезапущен или HUPped
. Может также поставить управление, сколько клиентов может соединиться с rsync серверным процессом за один раз. Это хорошо, так как я не хочу свой rsyncd серверный процесс к пожирателю ресурсов вниз хост полностью по ЦП или находящимся на диске операциям ввода-вывода.
функциональность chroot может быть сделана доступной через конфигурацию для rsyncd в режиме демона. Я могу использовать это в качестве крутого средства защиты, если я хочу избежать клиентов, соединяющихся с моим rsyncd для какого-либо из файлов/файловых систем, которые должны быть защищены на хосте и не должны иметь внешнего доступа.
Я могу напрямую отклонить некоторые опции, используемые rsync клиентом, и не развлечь в конце сервера, таком как не разрешение --delete
опция.
Может иметь опцию выполнить некоторые команды/сценарии прежде и после процесса rsync. Пример сообщил бы и сохранил бы rsync статистику в режиме постпередачи.
Это некоторые из них, но я уверен, что опытные пользователи rsync могут пролить больше света на это.
Я испытал проблему, пытающуюся синхронизировать большую папку между машиной Linux и машиной окон с помощью cygwin. После отбрасывания туннеля SSH в пользу использования rsync демона ушли мои проблемы.
Клиент не должен знать расположение файловой системы, и т.д. сервера, к/от которому он продвигает/вытягивает
Общее использование для rsync должно зеркально отразить общедоступные архивы файлов. Оператор основной копии не хочет разрешать удаленный доступ оболочки к архиву, но хочет, чтобы волонтеры, выполняющие удаленные зеркала, смогли эффективно получить полную копию архивов. Rsync работает чрезвычайно хорошо на создание зеркала, так как он только загрузит измененные биты, и если будет небольшое прерывание в сети, то он не повторно загрузит весь большой файл (изображения cd/dvd).
Разрядный протокол потока на самом деле может быть лучшим выбором для этого теперь, но rsync был выпущен многими годами ранее.
Даже сейчас многие крупнейшие архивы все еще используют rsync для зеркал.
См.: http://www.debian.org/mirror/ftpmirror
Протокол зеркального отражения, который мы рекомендуем, является rsync.
Можно предоставить rsync-сервисы экстранет и позволить синхронизациям тот путь, не имея необходимость выставлять ssh.
В режиме демона rsync propably вычислит локальные контрольные суммы быстрее и таким образом лучший комплект, если Вы будете ожидать несколько параллельных клиентов. С автономной командой контрольные суммы должен быть повторно вычислен для каждой сессии.
SSH дает наверху из-за, например, использование шифрования. Таким образом в теории необходимо получить более высокую пропускную способность с rsync демоном сервера.