Кажется, что rsync де-факто стандарт эффективного резервного копирования и синхронизации файлов в Unix / Linux.
Есть ли у кого-нибудь мысли о том, почему это не прижилось бы в мире Windows?
Почему он не стал универсальным «протоколом» для синхронизации файлов?
Я удивлен, что никто не упомянул DeltaCopy, который представляет собой rsync, упакованный в графический интерфейс Windows. Его можно даже установить как службу, совместимую с rsyncd.
Я бы сказал в основном потому, что люди в окнах этого не знают. Rsync - это утилита командной строки, которая соответствует философии unix, заключающейся в наличии множества предустановленных небольших инструментов. Философия Windows основана на приложениях с графическим интерфейсом, которые загружаются и устанавливаются отдельно. Нет такой точки интеграции, в которой rsync был бы очевиден или имел много смысла, а выполнение команд в системе Windows в лучшем случае утомительно.
Кроме того, rsync действительно эффективен, когда он является частью более крупного приложения (скажем, для консолидации и анализа журналов) или как автоматизированная система архивирования (легко реализуемая с помощью cronjob). У Windows просто нет других инструментов в своей экосистеме, чтобы сделать использование rsync действительно жизнеспособным.
Наконец, я бы сказал, что rsync слишком сложен. Любой, кого я знаю, кто его регулярно использует, имеет заранее установленную группу флагов (у меня -avuz), которые обычно делают то, что они хотят, но списки страниц / документации десятки переключателей командной строки, некоторые из них являются объединениями других переключателей. Например (из [справочной страницы] [1]):
-a, --archive: режим архива; равно -rlptgoD (без -H, -A, -X)
Это быстрый способ сказать, что вы хотите рекурсию и хотите сохранить почти все (примечательным упущением является -H). Единственным исключением из приведенной выше эквивалентности является указание --files-from, в этом случае -r не подразумевается.
Пользователи Windows обычно ожидают, что окна и меню, а также наличие единого приложения будет комплексным решением, а не просто независимой частью цепочки инструментов.
На мой взгляд, потому что нет достойного GUI.
Еще один аргумент может заключаться в том, что есть robocopy. Robocopy не хватает многих интересных функций, которые предлагает rsync, но в большинстве ситуаций robocopy просто достаточно для выполнения текущей работы.
Я широко использую Cygwin rsync, и он работает очень хорошо.
Но ...
Это багер установить и настроить. Вам нужно выполнить полную установку Cygwin только для того, чтобы получить одну двоичную и три библиотеки DLL, и не очевидно, какие три библиотеки необходимы. Как запустить его как службу, не очевидно, а синтаксис командной строки сложен. Не ботаники любят очень быстро сдаваться.
Также он портит разрешения до такой степени, что я всегда устанавливаю cygwin = nontsec, и он регулярно зависает. Я понимаю, что зависание - это известная проблема с библиотекой Cygwin, а не с самим rsync (что не является критикой ребят из Cygwin. То, что они достигли, почти чудо!).
Rsync чрезвычайно полезен, если вы выполняете какую-либо репликацию по каналам WAN, и в моем списке задач написать собственную версию Win32. К сожалению, это было в моем списке дел уже несколько лет, и он не приблизился к вершине. Я не думаю, что просто написание GUI-оболочки - это большой шаг вперед, поскольку не удается решить некоторые из фундаментальных проблем с версией Cygwin.
Если кому интересно, http://www.ratsauce.co.uk/notablog/UsingRsync.asp описывает результаты моих многочасовых мучений, заставляющих Cygwin rsync работать в Windows.
JR
Я бы сказал, что для синхронизации меньшего компьютера с компьютером люди используют Робокопия, SyncToy, или Foldershare (теперь Live Sync). Для сценариев распределенного многоуровневого файлового ресурса крупного предприятия они используют Распределенная файловая система (DFS). Эти инструменты отлично справляются с большинством сценариев синхронизации, оставляя очень мало преимуществ для установки, изучения и использования перекомпилированного приложения * nix в Windows.
Что бы ваш средний пользователь Windows использовал для?
Я использую robocopy в Windows, который предустановлен в Windows Vista и Windows 7 и подходит для любой ситуации резервного копирования, с которой я сталкивался до сих пор.
ИМО:
rsync гораздо реже будет установлен на машинах, встречающихся в мире Windows, в то время как Resource Kit с robocopy часто устанавливается (или, по крайней мере, он находится в «одобренном» списке программного обеспечения, которое может быть установлено в производственной системе).
Как отмечали другие, робокопии, как правило, более чем достаточно, чтобы снять шкуру с любой кошки, находящейся под рукой. Возможно, это не так хорошо, как rsync, но это хороший инструмент.
Отсутствие графического интерфейса может быть фактором, но даже несмотря на то, что для robocopy доступен интерфейс, я обнаружил, что большинство людей выясняют, какие переключатели robocopy необходимы, и вставляют его в файл .bat.
Самым простым в использовании / установке графическим интерфейсом пользователя rsync для Windows, который я нашел, был grSync.
(Скриншоты: http://www.opbyte.it/grsync/screenshot.html)
Если бы он был более популярным, возможно, больше использовался бы rsync.
Ой, ребята, вам явно не хватало утилиты "Unison". Я поддерживал несколько основных инфраструктур «реального времени» в США и евро, и я должен сказать, что у всех очень похожие проблемы ... как воспроизвести и быть в состоянии быть активным-активным все время ... если вам все равно насчет постоянства сеанса, то эта штука - бомба ... лучшее, что я нашел в дополнениях Solaris :-)
Для чего он нужен, есть отлично работающий rsync для Windows это не требует установки Cygwin. Я использую его для резервного копирования разных частей моих данных на разные диски. Полезно исключить определенные каталоги, но, вероятно, это делают и другие утилиты.
Нестор
Я предполагаю, что у него просто нет графического интерфейса. Для простых задач синхронизации Microsoft даже предлагает Sync Toy, а rsync может делать гораздо больше ...
Точно такая же причина tar
и bzip2
неслыханные. Это очень плохо вписывается в Windows. Архивирование каталога и передача его по SMB лучше подходит для Windows и во многих случаях кажется почти таким же быстрым. Это не совсем моя мечта о лучшем мире, но это реальность, с которой нужно бороться. Большинство компьютеров с Windows не имеют установленного уровня unix. В отличие от Mac OS X.
Мы создали графический интерфейс для Rsync и Windows.
На компьютере / сервере резервного копирования, к которому вы подключаетесь, должны быть запущены SSH и Rsync.
Дайте мне знать, если у вас есть вопросы, прокомментировав этот ответ.
Я использую robocopy для поведения в Windows, подобного rsync.
По сути, я написал файл backup.bat, который у меня есть на внешнем диске. Я регулярно запускаю файл для резервного копирования моих рабочих столов на внешний диск. Затем храню внешний диск в несгораемом сейфе.
Я верю, что rsync можно использовать под cygwin в мире Windows :) cygwin прост в установке и использовании, однако для обычных пользователей, которым нравится графический интерфейс, это не очень распространено. Итак, мы получаем два препятствия:
1) отсутствие интерфейса GUI
2) даже если в tcl / tk был, например, интерфейс с графическим интерфейсом, необходимость установки cygwin является препятствием.
и rsync не является проприетарным программным обеспечением, которое хочет продавать себя и, следовательно, изо всех сил пытается устранить препятствия перед потенциальными клиентами. Как говорит Джоэл: устранение одного барьера удваивает вашу базу пользователей. Итак, здесь у нас есть препятствия для пользователей Windows - как следствие, небольшая база пользователей на платформе Windows.
В разработке находится несколько новых интерфейсов rsync. Один, с которым я недавно столкнулся в Википедии, это yintersync. Он выглядит довольно всеобъемлющим в качестве графического интерфейса для rsync в Windows и довольно аккуратно также поддерживает теневые копии для репликации живых файлов.
Я недавно протестировал это на своей системе работы dr с хорошими результатами. Он имеет встроенный планировщик и отчеты по электронной почте. Это может помочь rsync наконец завоевать популярность среди окон
Отсутствие графического интерфейса на самом деле не проблема. xacls, robocopy, net, sc очень полезны и не имеют графического интерфейса. Я считаю, что если rsync не используется, это больше связано с тем, что: