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.html
nicht kopiert.
- Was macht der Befehl, wenn keine Dateien kopiert werden?
- Wie kann ich die Dateien tatsächlich kopieren?
/var/www/phrogz.net/public/public
?public
als Unterordner erstellt wird, und Sie haben 25rsync -rztpl --stats --rsh=/usr/bin/ssh 69.46.18.236:/var/www/phrogz.net/public /var/www/phrogz.net
- sollte es tun.Antworten:
Sie könnten Ihren Befehl vereinfachen
oder alternativ
Wie Sie sehen,
rsync
wird eine Quelle mit oder ohne Trailing unterschiedlich interpretiert/
.Außerdem
-a
entspricht-rtplogD
, (in Bezug auf die Befehlszeile, die-a
auch hinzufügt-o
, erhalten Besitzer-g
, bewahren Gruppe und-D
bewahren Geräte und spezielle Dateien).Schließlich ist die
--rsh
Option redundant, wenn die Quelle oder das Ziel in der Formhost:/path
mit einer einzigen vorliegt:
.quelle