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.
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:
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 rsync
tut. 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!
unison
eine beliebige Stelle in Ihr Home-Verzeichnis ( ~/bin/
) ein und stellen Sie die servercmd
Konfigurationsvariable so ein, dass sie darauf verweist. Stellen Sie außerdem sicher, dass unison
es ausführbar ist und dass es erfolgreich über eine normale SSH-Sitzung ausgeführt wird.unison
auf dem Remote-Computer installiert haben. Mit anderen Worten, Sie müssen die Linux-Version auf der Remote-Seite installiert haben. A uname -a
hilft 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.
Fahrrad
dstarh
Jäger E.
dwightk