rsync kopiert keine Dateien

11

Ich versuche, ein großes Verzeichnis von Dateien von meinem Server mit einer lokalen Box zu synchronisieren. (Auf beiden wird Ubuntu ausgeführt.) Ich habe einen Befehl, der anscheinend funktioniert, aber bestimmte Dateien werden nicht kopiert:

phrogz@planar:~$ cat ./sync-phrogz-public 
rsync -rztpl --stats --rsh=/usr/bin/ssh 69.46.18.236:/var/www/phrogz.net/public /var/www/phrogz.net/public

phrogz@planar:~$ ./sync-phrogz-public 
Number of files: 10320
Number of files transferred: 0
Total file size: 4221864770 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 197778
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 388
Total bytes received: 199213

sent 388 bytes  received 199213 bytes  79840.40 bytes/sec
total size is 4221864770  speedup is 21151.52

phrogz@planar:~$ la /var/www/phrogz.net/public/svg/convert*
-rw-r----- 1 phrogz www-admin 6404 2011-02-26 21:49 /var/www/phrogz.net/public/svg/convert_path_to_polygon.xhtml

phrogz@planar:~$ ssh 69.46.18.236 'ls -Fla /var/www/phrogz.net/public/svg/convert*'
-rw-r--r-- 1 phrogz phrogz 1951 2011-12-04 09:07 /var/www/phrogz.net/public/svg/convert_matrix.html
-rw-r--r-- 1 phrogz phrogz 6404 2011-02-26 21:49 /var/www/phrogz.net/public/svg/convert_path_to_polygon.xhtml

Wie Sie sehen, wurde die Datei convert_matrix.htmlnicht kopiert.

  1. Was macht der Befehl, wenn keine Dateien kopiert werden?
  2. Wie kann ich die Dateien tatsächlich kopieren?
Phrogz
quelle
3
Ist es zufällig ein lokaler Ordner vorhanden /var/www/phrogz.net/public/public?
Enzotib
Whoa, ja, das gibt es! Schreiben Sie das als Antwort und sagen Sie mir, wie Sie den Befehl so ändern können, dass er nicht publicals Unterordner erstellt wird, und Sie haben 25
Wiederholungen
1
Entfernen Sie das letzte "public" aus Ihrem Skript, damit es: rsync -rztpl --stats --rsh=/usr/bin/ssh 69.46.18.236:/var/www/phrogz.net/public /var/www/phrogz.net- sollte es tun.
Caesium

Antworten:

16

Sie könnten Ihren Befehl vereinfachen

rsync -az --stats 69.46.18.236:/var/www/phrogz.net/public /var/www/phrogz.net/

oder alternativ

rsync -az --stats 69.46.18.236:/var/www/phrogz.net/public/ /var/www/phrogz.net/public

Wie Sie sehen, rsyncwird eine Quelle mit oder ohne Trailing unterschiedlich interpretiert /.

Außerdem -aentspricht -rtplogD, (in Bezug auf die Befehlszeile, die -aauch hinzufügt -o, erhalten Besitzer -g, bewahren Gruppe und -Dbewahren Geräte und spezielle Dateien).

Schließlich ist die --rshOption redundant, wenn die Quelle oder das Ziel in der Form host:/pathmit einer einzigen vorliegt :.

Enzotib
quelle