Was sind gute bidirektionale Echtzeit-Synchronisierungsprogramme zwischen dem lokalen Mac-Ordner und dem Webserver?

Ich habe einen iMac , der mit meinem lokalen Netzwerk (und folglich mit dem Internet) verbunden ist und einen Ordner mit dem Namen DocShare enthält .

Ich habe einen Webserver, der extern von einem Hosting-Unternehmen gehostet wird, mit einem ähnlichen Ordner namens Online DocShare , der ein Online-Repository mit Dateien hostet, die mit dem DocShare- Ordner auf meinem iMac in Beziehung stehen . Dieser Server unterstützt WebDAV, (S)FTP, SSH usw. für die Dateiübertragung.

Ich würde gerne einen Weg finden, diese beiden Ordner, einen lokal auf meinem iMac und einen auf meinem Server, zu synchronisieren, sodass jedes Mal, wenn ich eine Datei in das lokale DocShare hochlade, sie in meinem Online DocShare erscheint und umgekehrt. Es wäre großartig, wenn Änderungen an Dateien widergespiegelt werden könnten, und wenn ich eine Datei auf beiden Seiten löschte/änderte/erstellte , würde dies den gegenüberliegenden Ordner widerspiegeln.

Es wäre also eine Echtzeit-Synchronisierung mit einer konstanten Verbindung zum Webserver oder ein geplanter Synchronisierungsprozess in jedem Zeitintervall. Bisher habe ich eine Handvoll Programme für Windows gefunden, aber keines, das dies für Mac tut.

Wenn möglich, würde ich es gerne in einer GUI sehen, mit einem möglichen Befehlszeilen-Add-On (nicht unbedingt ausschließlich Befehlszeile). Bitte lassen Sie mich wissen, welche möglichen Optionen ich habe, oder ob ich fertig bin und es nichts gibt, was so etwas tut.

Willkommen bei Ask Different! Ich habe einen Teil des Ask Different Meta- Teils des Beitrags herausgeschnitten . Fühlen Sie sich frei, die Frage mit der Schaltfläche Bearbeiten zu verfeinern, wenn die Leute nicht genau verstehen, wonach Sie suchen.
Was ist mit Dropbox? Ich gehe davon aus, dass der Server *nix dropbox.com/install?os=lnx ist
Es ist. Das ist interessant, daran habe ich nie gedacht.
hier gibt es ein paar Antworten: apple.stackexchange.com/questions/40483/…

Antworten (2)

Unison ist mein bevorzugtes Tool für eine bidirektionale Dateisynchronisierung. (Mac-Binärdateien sind auf der Website eines Mitwirkenden verfügbar .) Ich neige dazu, es als eine interaktivere, konfigurierbare und bidirektionale Version von rsync. Da es ein guter *nix-Bürger ist, kann es mit Ihrer bevorzugten Methode automatisiert werden. Es ist Open Source und hat Ports zu den wichtigsten Betriebssystemplattformen.

Leider befindet sich Unison nicht mehr in der aktiven Entwicklung , was für Sie ein Problem sein kann oder auch nicht. (Ich glaube, das letzte Mal, als ich es verwendet habe, war unter 10.6.) Aber es passt gut zu Ihren Anforderungen:

  • Es verarbeitet die bidirektionale Synchronisierung und funktioniert hervorragend mit großen Dateien und Datensätzen.
  • Es kann vollständig automatisiert oder interaktiv ausgeführt werden (wobei Sie jede Änderung überprüfen und bestätigen).
  • Es läuft über SSH.
  • GUI- und CLI-Schnittstellen sind verfügbar. (FWIW, die Mac-GUI-Version, war zwar nett/praktisch, aber für mich immer etwas flockig.)
  • Die Endbenutzerdokumentation ist ausgezeichnet und gründlich.
  • Es verfügt über Konfigurationsoptionen für eine Vielzahl von Anwendungsfällen.
  • Es hat das Konstruktionsprinzip, die Dinge jederzeit in einem guten Zustand zu belassen, was die Wiederherstellung erleichtert, falls die Verbindung zu irgendeinem Zeitpunkt unterbrochen wird.

Und hier ist das Hauptverkaufsargument für die Verwendung (zumindest für mich):

Bei Remote-SSH-Zielen meldet es sich beim Remote-Computer an, führt dort eine separate Kopie von Unison aus, um nach Änderungen zu suchen, und gleicht dann den Status mit Ihrem lokalen Computer ab, um nur die Bits (oder Bytes :-)) zu übertragen, die sich unterscheiden, ähnlich wie rsynctut. Dies macht es sehr effizient mit der Bandbreite und es ist auch in der Lage, Caches seines Dateiindex auf jeder Seite zu verwalten, um nachfolgende Scans schneller zu machen. Für große Datensätze ist dies eine große Sache.

Es gibt andere Mac-spezifische Tools für die Dateisynchronisierung, aber, IIRC, sie neigen dazu anzunehmen, dass das Dateisystem lokal ist, und sind entweder sehr ineffizient mit der Bandbreite oder sehr anmaßend in Bezug auf Datei-„Änderungen“ (Metadaten, tatsächliche Daten) bei großen Remote-Dateien / Datensätze.

Unison funktionierte so, wie ich es brauchte, war zuverlässig und machte mich aufgrund seiner großartigen Dokumentation zuversichtlich, es zu verwenden. Danke, Benjamin C. Pierce!

Eindrucksvoll! Klingt nach dem Dienstprogramm, das ich suche! Lassen Sie mich es versuchen und sehen, was es tut. Danke, super Antwort!
Okay, ich habe ein Problem. Mein Webserver wird über JustHost gehostet, und obwohl ich Unison in meinem Home-Verzeichnis auf diesem gemeinsam genutzten Server installieren kann, kann ich /usr/bin nicht ändern, damit es funktioniert, wenn die Version von Unison auf meinem Computer versucht, eine Verbindung über SSH herzustellen. Das Ändern meiner PATH-Variablen scheint nicht viel zu bewirken. Irgendwelche Vorschläge?
Ja, auf gemeinsam genutzten Hosts haben Sie wahrscheinlich keine Berechtigung, etwas außerhalb Ihres Heimatverzeichnisses zu ändern. Das ist okay. Fügen Sie einfach unisoneine beliebige Stelle in Ihr Home-Verzeichnis ( ~/bin/) ein und stellen Sie die servercmdKonfigurationsvariable so ein, dass sie darauf verweist. Stellen Sie außerdem sicher, dass unisones ausführbar ist und dass es erfolgreich über eine normale SSH-Sitzung ausgeführt wird.
Außerdem ist es irgendwie impliziert, aber erwähnenswert: Sie müssen die entsprechende Version von unisonauf dem Remote-Computer installiert haben. Mit anderen Worten, Sie müssen die Linux-Version auf der Remote-Seite installiert haben. A uname -ahilft Ihnen herauszufinden, welche Version von Linux JustHost verwendet.

Transmit bietet eine Automator-Aktion, die einen lokalen Ordner mit einem Ordner auf Ihrem Server synchronisiert. Kombinieren Sie das mit Ordneraktionen und Sie sollten eingestellt sein, es sei denn, ich lese die Frage falsch. Transmit unterstützt WebDAV und (S)FTP.

Ich "glaube", ich habe das versucht (denken ist das Schlüsselwort). Wenn ich die Ordneraktionen ausprobiere (wenn etwas zum gemounteten Laufwerk durch Transmit hinzugefügt wird oder etwas zum lokalen Ordner hinzugefügt wird und dann in das Gegenteil kopiert wird), endet es damit, dass die bidirektionale Synchronisierung, die ich möchte, zu einer kontinuierlichen wird Schleife zum Kopieren von Dateien.
Ah, die Beschreibung liest sich so, als wäre es bidirektional, aber wenn ich mir die Aktion in Automator ansehe, sehe ich, dass Sie eine Synchronisierungsrichtung auswählen. Haben Sie verschiedene Einstellungen in den Dropdown-Listen „Dateien vergleichen“ oder „Dateien überspringen“ ausprobiert?
Ja, das habe ich vor einer Minute versucht. Leider bleibt das Hauptproblem bestehen: Um dies bidirektional zu tun, müsste Transmit zwei VOLLSTÄNDIGE Synchronisierungen durchlaufen. Es ist eine plausible Option, aber höchst ineffizient, wenn meine Ordnergröße wächst.