Frage

Ich habe einen server wo ich die Daten von Mac und Mac B.

Ich benutze rsync damit die Dateien aktualisiert, die zwischen meinen Macs.

Ich den folgenden code ausführen erfolglos

#!/bin/zsh

#    to copy files from my server to my folder
rsync -Pav $Masi:~/private/ ~/Dropbox/Courses/math/

#    to  copy files from my folder to my server
rsync -Pav ~/Dropbox/Courses/math $Masi:~/private/

Ich erhalte die folgende Fehlermeldung

ssh: connect to host  port 22: Connection refused
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: unexplained error (code 255) at io.c(600) [receiver=3.0.5]
ssh: connect to host  port 22: Connection refused
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(600) [sender=3.0.5]

Ich habe ssh-Schlüssel in Ort, so dass die Verbindung sollte funktionieren, da kann ich scp ohne Probleme.

Wie können Sie rsync zwischen meinem server und eine meiner Macs?

War es hilfreich?

Lösung

Ich habe viel zu tun. lief nur einen Test, ein paar Vorschläge.

  1. Formulieren Sie Ihre gesamte user @ host Muster
  2. Führen Sie die SSH-Verbindung sans die rsync erste, müssen Sie zunächst Ihren Fingerabdruck genehmigen
  3. Sie scheinen nicht eine Flagge passieren erweiterte Attribute zu schützen, diese beschädigten Dateien auf OS X ergeben können, wenn Sie nicht Resource Forks benötigen, Sie sind in Ordnung, aber die meisten der Zeit, die Sie brauchen.

Mein Testfall:

$ rsync -Pav ~/Desktop/ me@remote.example.com:~/rsyc-test

In diesem Fall wird alle Dateien innerhalb von ~ / Desktop wurden auf die Remote-Host kopiert, in meinem Home-Verzeichnis. Da die ‚rsyc-Test‘ Verzeichnis nicht existierte, war es für mich gemacht. Ich hatte eine .app auf meinem Desktop, es machte es überraschend, dass es funktioniert. Sogar einige .webloc Dateien gemacht und zu arbeiten scheinen, obwohl ich es nicht vertrauen.

würde ich dringend empfehlen in der -E-Flagge Hinzufügen

  -E, --extended-attributes
         Apple specific option  to  copy  extended  attributes,  resource
         forks,  and  ACLs.   Requires at least Mac OS X 10.4 or suitably
         patched rsync.

lief ich einen neuen Test, zog ein Interarchy Lesezeichen auf meinem Desktop, ich für eine Tatsache, diese Pause wissen, ob sie sans Resource Forks kopiert werden. Läuft, ohne die -E im Vergleich mit dem -E, gibt es einen Unterschied von 152 Bytes in xfered Daten. Die erste Datei auf dem entfernten Rechner hat nicht funktioniert, die zweite übergebene Datei funktioniert hat.

Ich kann nicht umhin zu bemerken in Ihrem Beispiel eines Ihrer Pfade ~ / Dropbox so kann dies alles keine Rolle, da DropBox, die App nicht auf allen Support Resource Forks zur Zeit, obwohl ich es hören sind Pläne in die Zukunft.

Sie auch nicht in dem --delete Flag senden, wenn Ihr Endziel ein Spiegel Ihrer Daten ist, sind Sie nicht immer, dass, wenn Ihr Endziel ist Backups, die ständig wächst, alles zu halten, die jemals auf der Quelle war der Mangel an --delete ist gut.

Andere Anmerkungen:
Sie können diese dummen .DS_Store Dateien ausschließen     --exclude '.DS_Store'

Sie können auch rsync bis auf eine Weise gesetzt ein echter Spiegel sein, so würden Sie nicht Ihren anderen Befehl ausführen müssen, die man-Seite für weitere Informationen.

Mein letzter Arbeits Befehl den Desktop meines Laptops zu einem entfernten Rechner schieben:

$ rsync -PEav --delete --exclude '.DS_Store' ~/Desktop/ me@remote.example.com:~/rsycn-test

Andere Tipps

Überprüfen Sie "$ Masi". Ist das der Hostname Sie versuchen zu erreichen?

Versuchen Sie den folgenden Befehl, es zu debuggen:

rsync -e 'ssh -v' -Pav $Masi:~/private/ ~/Dropbox/Courses/math/

Die Connection refused in der Regel geschieht, wenn es ein Verbindung Problem auf der Fernbedienung (z.B.- firewall).

In Ihrem Fall ist das problem, dass $Masi variable leer ist.Wenn es keine Variablen verwenden Masi.

Wie pro diese Fehlermeldung:

ssh: connect to host port 22: Connection refused

Hinweis die Doppel-Leerzeichen oben nach host Wort.

die Verbindung zum host Nachricht nicht sagen, um die host, so dass Sie versuchen, eine Verbindung zu leer host.Also, es klingt wie ein Tippfehler in der host-name.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top