Frage Warum überspringt rsync das Hauptverzeichnis?


Ich versuche, rync lokal (auf einem Windows-Rechner) zu einem Remote-Server (meine osx-Box) zu verwenden, um ein Remote-Deploy-Build-Skript zu testen. Ich habe rsync vorher gut zwischen 2 Linux-Servern gemacht, aber ich habe jetzt Probleme. Hier ist die Ausgabe:

$ rsync -v -e ssh myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ ./export

skipping directory /Library/WebServer/sites/staging/app1/.

sent 8 bytes  received 13 bytes  3.82 bytes/sec
total size is 0  speedup is 0.00

$ 

oder

$ rsync -avz -e ssh myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ ./export

receiving file list ... done
./

sent 26 bytes  received 68 bytes  17.09 bytes/sec
total size is 0  speedup is 0.00


$ 

Remote-App1-Verzeichnis ist leer, während lokale Export-Verzeichnis 4 Unterverzeichnisse und dann eine Reihe von Dateien in jedem Verzeichnis hat


41
2018-02-24 19:59


Ursprung




Antworten:


rsync -v -e ssh myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ ./export

Sie haben keine Optionen angegeben, um es in den rekursiven Modus zu setzen -r oder -a.

Das Remote-Verzeichnis app1 ist leer, während das lokale Exportverzeichnis 4 Unterordner hat   Verzeichnisse und dann eine Reihe von Dateien in jedem von ihnen

Hast du die Möglichkeiten hier rückwärts? Der Befehl sollte sein rsync [source] [DESTINATION]. Wenn das Verzeichnis app1 leer ist und Sie versuchen, ein leeres Verzeichnis zu kopieren, werden Sie nichts Nützliches tun.

Vielleicht brauchst du stattdessen so etwas?

rsync -avz ./export/  myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ 

Ebenfalls:

  • Sie sollten fast immer einen nachgestellten Schrägstrich in Verzeichnisse mit rsync einfügen.
  • Fast jede Version von rsync, die in den letzten 5-10 Jahren veröffentlicht wurde, verwendet standardmäßig ssh, um den Ferntransport durchzuführen. Sie müssen wahrscheinlich nicht angeben -e ssh.

57
2018-02-24 20:15



Wow .. das ist ziemlich peinlich. Ja, ich habe Quelle und Ziel verwechselt ... - chrisan
+1 für "Sie sollten fast immer einen abschließenden Schrägstrich in Verzeichnissen mit rsync einfügen." - Walrus the Cat
Auf Mac scheint es das -r-Flag zu verwenden, aber auf Linux verwende ich immer -R ("capital R") - Adam F


Versuchen Sie, die integrierte Fähigkeit von rsync zu aktivieren, eine Protokolldatei auszugeben, indem Sie Ihrem Befehl die folgende Option hinzufügen.

--log-file=/path/to/log.file

Sie können die Ausführlichkeit auch erhöhen, indem Sie ein Extra hinzufügen -v Option, z.B. -avvzLaut der Manpage gibt 'Zwei -v Optionen Ihnen Informationen darüber, welche Dateien übersprungen werden und etwas mehr Informationen am Ende.'

Wenn diese Informationen, die zurückgeben, nicht helfen, das Problem zu identifizieren, bearbeiten Sie Ihre Frage und fügen Sie die zusätzliche Ausgabe hinzu.


2
2018-02-24 20:06