Ich habe versucht, rsync unter OSX zu Linux oder Unix zu verwenden, über die ich nicht viel Kontrolle habe. Ich habe so etwas gemacht
rsync -avz -e ssh remoteuser@remotehost:/remote/dir /this/dir/
Der zurückgegebene Fehler ist:
bash: rsync: Befehl nicht gefunden rsync: Verbindung unerwartet geschlossen (0 Bytes bisher empfangen) [Empfänger] rsync-Fehler: Remote-Befehl nicht gefunden (Code 127) unter /SourceCache/rsync/rsync-37.3/rsync/io.c(452 ) [Empfänger = 2.6.9]
Nachdem ich die Dokumente gelesen habe, denke ich jedoch, dass ich tatsächlich einen rsync-Daemon auf dem Remote-Host installieren müsste.
- Muss ich einen rsync-Server auf dem Remote-Host installieren?
- Kostenlose Alternativen - GUI oder Nicht-GUI - für die keine Installation auf dem Remote-Host erforderlich ist ?
Vielen Dank!
rsync
bitte markieren ?Antworten:
Sie benötigen einen rsync-Befehl auf dem Server, müssen jedoch keinen Daemon ausführen.
Holen Sie sich eine rsync-Binärdatei, die auf dem Server funktioniert, platzieren Sie sie irgendwo in Ihrem Haus und fügen Sie dieses Flag Ihrer Befehlszeile hinzu :
--rsync-path=/home/user/path/to/rsync
.Wenn Sie rsync nicht auf die Server kopieren möchten, können Sie scp oder sshfs verwenden.
In diesem Fall wird rsync vollständig lokal ausgeführt, die Änderungen werden jedoch an den Server weitergegeben.
quelle
Sie müssen rsync auf dem Remote-Host haben - nicht unbedingt einen rsync-Server (der meiner Meinung nach die SSL-Verbindung ohnehin nicht handhabt), aber rsync auf der lokalen Box muss mit einem rsync auf der Remote-Box kommunizieren. Sie verwenden ssh, um die beiden zu verbinden.
Angenommen, rsync ist auf der Remote-Box vorhanden, befindet es sich nicht im Standardsuchpfad für Ihre angemeldete ssh-Shell. Abhängig von Ihren Einstellungen und Berechtigungen auf der Remote-Box können Sie es versuchen
oder etwas ähnliches. Wenn rsync als ausführbare Datei (Vice Server) auf dem Remote-Host nicht vorhanden ist, muss es hinzugefügt werden.
quelle
Trotz der oben vorgeschlagenen kreativen sshfs-Lösung macht es nicht viel Sinn, rsync zu verwenden, ohne einen rsync-Daemon auf dem Remote-Host auszuführen. Die ganze Idee der Effizienz in rsync besteht darin, dass die beiden Instanzen ihre lokalen Kopien des Datasets vergleichen, indem sie Prüfsummen lokal berechnen, sie über das Netzwerk vergleichen und nur die tatsächlichen Daten für die Teile dieser Dateien übertragen, die sich tatsächlich unterscheiden.
Wenn Sie sshfs oder einen Netzwerk-Mount verwenden, wird nur die Tatsache ausgeblendet, dass der gesamte Datensatz vom Remote-Host über das Netzwerk kopiert werden muss, um die Prüfsummen lokal zu berechnen und die Unterschiede darüber hinaus zu übertragen. Es wäre schneller und billiger, alles lokal zu löschen und das Los zu "scp -r".
quelle
Versuchen Sie SCP . Da Sie bereits SSH-Zugriff haben, müssen Sie nichts anderes auf dem Remote-Host installieren :)
So kopieren Sie Dateien vom Remote-Host auf den lokalen Host:
Oder kopieren Sie Dateien vom lokalen Host auf den Remote-Host mit:
quelle
scp -r