Warum hat sich rsync in der Windows-Welt nicht durchgesetzt? [geschlossen]

97

Es scheint, dass rsync der De-facto-Standard für eine effiziente Dateisicherung und -synchronisierung unter Unix / Linux ist.

Hat jemand irgendwelche Gedanken darüber, warum es sich in der Windows-Welt nicht durchgesetzt hätte?

Warum wurde es nicht zu einem universellen Protokoll für die Dateisynchronisierung?

p.Campbell
quelle
4
Das liegt daran, dass es keinen anständigen Port gibt und Windows-Benutzer daran gewöhnt sind, dass es einfach funktioniert. Die existierenden nicht ganz-Häfen sind eine große PITA.
RomanSt
1
Windows bietet bereits eine Deltasynchronisierung über DFS und RDC , die zentral verwaltet, massiv bereitgestellt, konfiguriert usw. werden kann.
Panagiotis Kanavos,
@ p.campbell, Es gibt Cwrsync für Windows
Pacerier

Antworten:

48

Ich würde sagen, vor allem, weil die Leute in Fenstern sich dessen nicht bewusst sind. Rsync ist ein Befehlszeilenprogramm, das der Unix-Philosophie entspricht, viele kleine Tools vorinstalliert zu haben. Die Windows-Philosophie basiert auf GUI-Anwendungen, die alle separat heruntergeladen und installiert werden. Es gibt keinen reibungslosen Integrationspunkt, an dem rsync offensichtlich oder sinnvoll wäre, und die Ausführung von Befehlen auf einem Windows-System ist bestenfalls mühsam.

Außerdem ist rsync ein hervorragender Bestandteil einer größeren Anwendung (z. B. zum Konsolidieren und Analysieren von Protokollen) oder eines automatisierten Archivierungssystems (das mit einem Cronjob problemlos implementiert werden kann). Windows hat einfach nicht die anderen Tools in seinem Ökosystem, um die Verwendung von rsync tatsächlich umsetzbar zu machen.

Schließlich würde ich sagen, dass Rsync einfach zu kompliziert ist. Jeder, den ich kenne, der es regelmäßig benutzt, hat eine voreingestellte Gruppe von Flags (meins ist -avuz), die im Allgemeinen das tun, was sie wollen, aber die Manpages / Dokumentation listet Dutzende von Befehlszeilenschaltern auf, von denen einige Zusammenschlüsse anderer Schalter sind. Zum Beispiel (von der [Manpage] [1]):

-a, --archive : Archivierungsmodus; ist gleich -rlptgoD (no -H, -A, -X)

Es ist eine schnelle Möglichkeit zu sagen, dass Sie eine Rekursion wünschen und fast alles beibehalten möchten (wobei -H eine bemerkenswerte Auslassung ist). Die einzige Ausnahme von der obigen Äquivalenz besteht darin, dass --files-from angegeben wird. In diesem Fall ist -r nicht impliziert.

Windows-Benutzer erwarten im Allgemeinen, dass Windows und Menüs eine einzige App sind und nicht nur ein eigenständiges Teil einer Toolkette.

HEDMON
quelle
11
Ich stimme dir vollkommen zu ! Manpages sind der schlechteste Weg, um Rsync und viele andere Anwendungen zu verstehen.
Antoine Benkemoun
2
Eigentlich ist es umgekehrt. Menschen unter UNIX / Linux wissen nicht, dass Windows mindestens seit 2006 DFS und RDC bereitstellt. Es ist einfach, ganze Domänen einzurichten, zu verwalten und bereitzustellen (dh Hunderte oder Tausende von Desktops mit Dutzenden oder Hunderten von Clients).
Panagiotis Kanavos
3
@ PanagiotisKanavos Außer DFS unterscheidet sich von Rsync. NFS (oder eine Reihe anderer Protokolle) sind auf Linux-basierten Betriebssystemen verfügbar, aber rsync wird im Allgemeinen für gestaffelte Sicherungen, einmalige Übertragungen usw. verwendet. Äpfel und Orangen.
Andrew White
5
@ Pacerier: "Kommandozeile ist Kommandozeile"? Sie sind entweder extrem tolerant oder Sie kennen nur einen und nicht die anderen. Für jede normale Person, die Bash unter Linux / Mac (oder einer der anderen Unix-Shells) kennt, ist cmd.exe so verkrüppelt, dass es immer noch eine Untertreibung ist, zu sagen, dass es "im besten Fall langweilig" ist.
7.
2
"und das Ausführen von Befehlen auf einem Windows-System ist bestenfalls mühsam." - Entweder hast du nicht viel getan, hast noch nie von Powershell gehört, bist ein Linux-Fan oder all das oben Genannte. Es ist heutzutage nicht mehr anders als unter Linux.
Alan B
63

Ich bin überrascht, dass niemand DeltaCopy erwähnt hat , das in einer Windows-GUI rsync- gepackt ist. Es kann sich sogar selbst als rsyncd-kompatibler Dienst installieren.

Sekenre
quelle
3
+1 Ich kann das nicht genug unterstützen. Mit DeltaCopy sichern wir einige Linux-Server auf unserem Windows-basierten Backup-Server. Rsync unter Ubuntu direkt in den DeltaCopy-Client unter Windows.
Matt Everson
Es scheint nicht schön mit NTFS-Sicherheitsberechtigungen zu spielen
JamesRyan
Kann das Dateien über SSH ziehen, ohne rsyncd auf dem entfernten Linux-Rechner?
Cees Timmerman
1
Wenn rsync über ssh ausgeführt wird, wird auf der anderen Seite ein rsync-Prozess gestartet. Sie müssen kein eigenständiges rsyncd konfigurieren, das auf der Fernbedienung ausgeführt wird, müssen es jedoch installiert haben.
Sekenre
DeltaCopy als Server unter Windows, Cron-Skript mit Rsync auf einer Linux-Box und Rsnaphot, um "Time Machine" -Sicherungen durchzuführen. Unbezahlbar.
MGP
11

Meiner Meinung nach gibt es da keine anständige GUI.

Ein weiteres Argument könnte sein, dass es eine Robokopie gibt. In Robocopy fehlen viele coole Funktionen, die rsync bietet, aber in den meisten Situationen ist Robocopy für den jeweiligen Job gerade ausreichend.

Ludwig Weinzierl
quelle
4
Robocopy optimiert keine Remotekopien, was die Hauptinnovation von rsync ist. Ich würde sagen, dass keine Click-Pointy-GUI die einzige Entschuldigung dafür ist, es nicht zu versuchen
Javier
2
In der Windows-Welt müssen Sie beim Arbeiten mit "Remote" -Dateien häufig die Remote-CD freigeben und anschließend "lokale" Dateivorgänge ausführen. Und dafür reicht eine Robokopie aus.
9

Ich benutze den Cygwin Rsync ausgiebig und es funktioniert sehr gut.

Aber ...

Es ist ein Bugger, der installiert und konfiguriert werden muss. Sie müssen eine vollständige Cygwin-Installation durchführen, um eine Binär- und drei DLLs zu erhalten, und es ist nicht klar, welche drei DLLs benötigt werden. Es ist nicht offensichtlich, wie es als Dienst ausgeführt wird, und die Befehlszeilensyntax ist komplex. Nicht-Nerds geben gerne sehr schnell auf.

Außerdem werden die Berechtigungen bis zu dem Punkt durcheinander gebracht, an dem ich immer cygwin = nontsec gesetzt habe, und es hängt sich regelmäßig auf. Ich verstehe, dass der Hang eher ein bekanntes Problem mit der Cygwin-DLL ist als mit Rsync selbst (was keine Kritik an den Cygwin-Jungs ist. Was sie erreicht haben, ist ein kleines Wunder!).

Rsync ist äußerst nützlich, wenn Sie Replikationen über WAN-Links durchführen und eine native Win32-Version schreiben möchten. Leider steht es schon seit einigen Jahren auf meiner ToDo-Liste und ist nicht näher an der Spitze. Ich denke nicht, dass das Schreiben eines GUI-Wrappers nur ein großer Schritt nach vorne ist, da einige der grundlegenden Probleme mit der Cygwin-Version nicht behoben werden können.

Wenn jemand interessiert ist, beschreibt http://www.ratsauce.co.uk/notablog/UsingRsync.asp die Ergebnisse meiner vielen Stunden voller Schmerzen, die Cygwin rsync unter Windows zum Laufen gebracht hat.

JR

John Rennie
quelle
Amen dazu, obwohl es gut auf meinem XP-System installiert und funktioniert hat, hat es Vista überhaupt nicht gefallen. Rsync ist das Geschäft, wenn es einen nativen Port für Windows gäbe, würde es sicher viel mehr verwendet.
gbjbaanb
Die Installation von Git für Windows bietet standardmäßig konfiguriertes Bash und CygWin. Sie können sogar eine Integration von Unix-Befehlen in CMD auswählen. Voila, ich vergesse die Verwendung von PowerShell oder CMD)
it3xl
8

Ich würde sagen , dass für kleineren Computer zu Computer synchronisiert, Menschen sind mit Robocopy , SyncToy oder Folder (jetzt Sync leben). Für die verteilten Multimaster-Dateifreigabeszenarios großer Unternehmen verwenden sie DFS (Distributed File System) . Mit diesen Tools können die meisten Synchronisierungsszenarien problemlos verarbeitet werden, sodass die Installation, das Lernen und die Verwendung einer neu kompilierten * nix-App unter Windows nur geringe Vorteile haben.

Sean Earp
quelle
7

Was würden Ihre durchschnittlichen Windows - Benutzer es für ?

jalf
quelle
3
+1 für wahr sein - Windows-Benutzer-Backup ist meist "Drag & Drop auf eine separate / externe Festplatte"
LiraNuna
17
Ich schreibe selten Antworten ab und werde diese nicht abschreiben. Aber seit wann ist ServerFault ein Forum für durchschnittliche Windows-Benutzer? Für den Systemadministrator wird die Offsite-Replikation immer wichtiger. Große Unternehmen werden wahrscheinlich nur DPM kaufen, um es über ihre T3-Verbindungen zu nutzen. Wir bescheidenen Typen brauchen etwas, das mit ADSL-Upload-Geschwindigkeit funktioniert, und rsync macht das sehr gut.
John Rennie
3
@ John: Ja, aber die Leute werden rsync nicht verwenden, wenn sie nicht wissen, dass es existiert. rsync wird seit langem von "typischen" * nix-Benutzern verwendet und ist daher für jeden * nix-Systemadministrator von Nutzen. Unter Windows? Nicht so viel. Windows (und wahrscheinlich noch wichtiger ist , wurde an einem anderen Publikum gerichtet, eine , die kein Interesse hatte, oder verwenden Sie für Werkzeuge wie sie. Und da Windows - Systemadministratoren in der Regel als Windows starten Anwender , die Werkzeuge , die sie verwenden werden durch welche Werkzeuge beeinflusst Windows- Benutzer verwenden. Sie mischen zwei verschiedene Anliegen ( warum ist es nicht beliebt, vs wäre es nützlich )
Jalf
Ich antwortete nur dem ersteren, ich bestreite nicht, dass es nützlich sein würde
jalf
Ja, aber es gibt viele Windwos-Server, die ebenfalls gesichert werden müssen.
Kiltek
4

IMO:

Es ist weitaus unwahrscheinlicher, dass rsync auf Computern installiert wird, die in der Windows-Welt vorkommen, während das Resource Kit mit Robocopy häufig installiert wird (oder zumindest auf einer "genehmigten" Liste von Software, die auf einem Produktionssystem installiert werden kann).

Wie andere bereits betont haben, ist die Robokopie im Allgemeinen mehr als ausreichend, um jede Katze zu häuten, die zur Hand ist. Es ist vielleicht nicht ganz so schön wie Rsync, aber es ist ein gutes Werkzeug.

Das Fehlen einer GUI mag ein Faktor sein, aber obwohl es ein Front-End für Robocopy gibt, finde ich, dass die meisten Leute die benötigten Robocopy-Schalter herausfinden und sie in eine .bat-Datei stecken.

Damorg
quelle
Mit Windows 2008 (und höher, nehme ich an) ist Robocopy im Betriebssystem enthalten, sodass es nicht mehr installiert werden muss.
Mrdenny
Ich habe das nicht bemerkt. Vielen Dank für die Info ... wir sind in unserer Umgebung mindestens ein Jahr von 2008 entfernt und ich bin seit dem Umzug aus der AD-Administration nicht mehr auf dem Laufenden.
Damorg
Robocopy wird standardmäßig auch in Vista und Windows 7 installiert, möglicherweise auch in deren PE-Gegenstücken.
Oskar Duveborn
Robocopy überträgt nicht nur die GEÄNDERTEN Teile von Dateien, so dass große Dateien mit kleinen Änderungen im Vergleich zu rsync sehr langsam kopiert werden.
JustinP
4

Ich verwende Robocopy in Windows - das in Windows Vista und Windows 7 vorinstalliert ist und jeder Backup-Situation gewachsen ist, der ich bisher begegnet bin.

Sam
quelle
2

Ich vermute, dass es einfach keine GUI hat. Für einfache Synchronisierungsaufgaben bietet Microsoft sogar Sync Toy an, und rsync kann noch viel mehr ...

Bluebrother
quelle
Tatsächlich gibt es eine GUI dafür: sepiola.org/en/home Ich habe einmal mit den Entwicklern von Sepiola gesprochen und sie haben mir gesagt, dass sie nur eine GUI für rsync erstellt haben.
2
Ich habe dies abgelehnt, da dies darauf hindeutet, dass Windows-Systemadministratoren ohne GUI verloren gehen. Welches ist nicht wirklich wahr; Die meisten guten Administratoren können Befehlszeilen-Dienstprogramme verwenden.
Quux
2

Was auch immer es ist, es gibt ein perfekt funktionierendes rsync für Windows , das keine Installation von Cygwin benötigt. Ich habe es verwendet, um verschiedene Teile meiner Daten auf verschiedenen Laufwerken zu sichern. Es ist nützlich, bestimmte Verzeichnisse auszuschließen, aber wahrscheinlich auch andere Dienstprogramme.

Nestor

Nestor
quelle
Es verwendet immer noch Cygwin, was bedeutet, dass die DLL mit anderen Apps, die Cygwin verwenden könnten, in Konflikt geraten kann. In diesen Fällen ist es im Allgemeinen besser, Cygwin nur zu installieren.
Dlamblin
2

Oh Mann, euch hat das Utility "Unison" offensichtlich gefehlt. Ich habe einige wichtige US / EUR "Echtzeit" -Infrastrukturen unterstützt und ich muss sagen, dass jeder sehr ähnliche Probleme hat ... wie man repliziert und in der Lage ist, die ganze Zeit aktiv und aktiv zu sein ... wenn es dich nicht interessiert Wenn es um Session-Persistenz geht, dann ist dieses Ding die Bombe ... das Beste, was ich in Solaris-Extras gefunden habe :-)

dounoit
quelle
2

Die am einfachsten zu verwendende / zu installierende rsync-GUI-Anwendung, die ich für Windows gefunden habe, war grSync .

( Screenshots: http://www.opbyte.it/grsync/screenshot.html )

Wenn es populärer wäre, würde vielleicht rsync mehr verwendet.

l0c0b0x
quelle
0

Ich glaube, dass Rsync unter Cygwin in der Windows-Welt verwendet werden kann :) Cygwin ist einfach zu installieren und zu verwenden, aber für normale Benutzer, die GUIs lieben, ist es nicht sehr verbreitet. so bekommen wir zwei Barrieren:

1) Fehlendes GUI-Frontend

2) Auch wenn es in tcl / tk zum Beispiel ein GUI-Frontend gab - die Notwendigkeit, cygwin zu installieren, ist ein Hindernis.

und rsync ist keine proprietäre Software, die sich selbst verkaufen möchte und daher Schwierigkeiten hat, Barrieren vor potenziellen Kunden zu beseitigen. Wie Joel sagt: Die Beseitigung einer Barriere verdoppelt Ihre Nutzerbasis. Hier haben wir also Barrieren für Windows-Benutzer - als Konsequenz eine kleine Nutzerbasis für Windows-Plattformen.

user11722
quelle
0

Ich benutze Robocopy für Rsync-ähnliches Verhalten in Windows.

Grundsätzlich habe ich eine backup.bat-Datei geschrieben, die ich auf einem externen Laufwerk habe. Ich führe die Datei regelmäßig aus, um meine Desktops auf dem externen Laufwerk zu sichern. Dann bewahre ich das externe Laufwerk in einem feuerfesten Safe auf.

Scott
quelle
0

Genau den gleichen Grund tarund bzip2sind unbekannt. Es passt sehr schlecht in Windows. Das Komprimieren und Versetzen eines Verzeichnisses über SMB passt besser zu Windows und scheint in vielen Fällen fast genauso schnell zu sein. Das ist nicht wirklich mein Traum von einer besseren Welt, aber es ist eine Realität, mit der ich mich auseinandersetzen muss. Auf den meisten Windows-Computern ist keine Unix-Ebene installiert. Im Gegensatz zu Mac OS X.

dlamblin
quelle
0

Es gibt einige neuere Rsync-Guis in der Entwicklung. Eine, die ich kürzlich über Wikipedia kennengelernt habe, ist yintersync . Es sieht als GUI für Rsync unter Windows ziemlich umfangreich aus und unterstützt auch ordentlich Schattenkopien zum Replizieren von Live-Dateien.

Ich habe dies kürzlich mit guten Ergebnissen an meinem work dr-System getestet. Es verfügt über einen eingebauten Planer und E-Mail-Berichte. Dies kann dazu beitragen, dass sich rsync endlich in der Windows-Masse durchsetzt

Geoff Goat
quelle
0

Das Fehlen von GUI ist eigentlich kein Problem. xacls, robocopy, net, sc sind sehr nützlich und haben keine gui. Ich glaube, dass, wenn Rsync nicht verwendet wird, es eher auf die Tatsache zurückzuführen ist, dass:

  1. Windows fehlt eine echte Shell und eine echte Skriptsprache. Und Menschen, die Batch verwenden, verwenden auch Robocopy.
  2. Seit 95 wird Windows mit einem benutzerfreundlichen grafischen Tool ausgeliefert (in der französischen Version "Porte document"). Seit Windows 2000 (oder XP?) Gibt es im Explorer ein Menü "Synchronisieren".
Benoit
quelle
Die Definition von "real" ist? ^^
Oskar Duveborn
Mit einer echten Shell können mehr als nur Eingabeaufforderungen, Fenstergrößen oder Kacheln angepasst werden. Es bietet die Möglichkeit, alle gewünschten Aufgaben zu erledigen (Verwalten von Benutzerkonten, Optimieren der Systemkonfiguration, ...). Eine echte Skriptsprache ermöglicht das Definieren der Umgebung (Haben Sie jemals versucht, den Befehl "date" in einer Umgebung mit mehreren Ländern zu verwenden?) Und kann in einer interaktiven Eingabeaufforderung verwendet werden (im Gegensatz zu vbs / js).
Benoit
PowerShell wird all Ihren Anforderungen gerecht und ist seit 2006 Teil von Windows. Es lässt sich in .NET integrieren, sodass ich es in einigen Fällen Bash vorziehe.
James