it-swarm.com.de

Warum überspringt rsync das Hauptverzeichnis?

Ich versuche, rync lokal (auf einem Windows-Computer) auf einem Remote-Server (meiner OSX-Box) zu verwenden, um ein Remote-Bereitstellungs-Build-Skript zu testen. Ich habe zuvor rsync zwischen zwei Linux-Servern ausgeführt, aber jetzt habe ich Probleme. Hier ist die Ausgabe:

$ rsync -v -e ssh [email protected]:/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 [email protected]:/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


$ 

das Remote-App1-Verzeichnis ist leer, während das lokale Exportverzeichnis 4 Unterverzeichnisse und jeweils eine Reihe von Dateien enthält

52
chrisan
rsync -v -e ssh [email protected]:/Library/WebServer/sites/staging/app1/ ./export

Sie haben ihm keine Optionen gegeben, um ihn in den rekursiven Modus wie -r Oder -a Zu versetzen.

das Remote-App1-Verzeichnis ist leer, während das lokale Exportverzeichnis 4 Unterverzeichnisse und jeweils eine Reihe von Dateien enthält

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

Vielleicht brauchen Sie stattdessen so etwas?

rsync -avz ./export/  [email protected]:/Library/WebServer/sites/staging/app1/ 

Ebenfalls:

  • Sie sollten fast immer einen abschließenden Schrägstrich in Verzeichnisse mit rsync einfügen.
  • Fast jede Version von rsync, die in den letzten 5 bis 10 Jahren veröffentlicht wurde, verwendet standardmäßig ssh und verfügt über den Remote-Transport. Sie müssen wahrscheinlich nicht -e ssh Angeben.
70
Zoredache

Versuchen Sie, die integrierte Fähigkeit von rsync zur Ausgabe einer Protokolldatei zu aktivieren, 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 eine zusätzliche Option -v Hinzufügen, z. -avvz Laut Manpage: "Zwei -v-Optionen geben Ihnen Informationen darüber, welche Dateien übersprungen werden, und am Ende etwas mehr Informationen."

Wenn diese zurückgegebenen Informationen das Problem nicht identifizieren können, bearbeiten Sie Ihre Frage und fügen Sie die zusätzliche Ausgabe hinzu.

3
Bryan