rsync насправді не копіює файли


11

Я намагаюся синхронізувати великий каталог файлів зі свого сервера до локальної скриньки. (В обох працює Ubuntu.) У мене є команда, схоже, що вона працює, але певні файли не копіюються:

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

Як бачите, файл convert_matrix.htmlне скопійовано.

  1. Що робить команда, якщо насправді не копіює файли?
  2. Як змусити її фактично копіювати файли?

3
Це випадково представлена ​​локальна папка /var/www/phrogz.net/public/public?
enzotib

О, так, є! Опублікуйте це як відповідь, і скажіть мені, як змінити команду, щоб не створювати її publicяк підпапку, і ви отримали собі 25 повторень :)
Phrogz

1
Видаліть остаточне "загальнодоступне" зі свого сценарію, щоб він став: rsync -rztpl --stats --rsh=/usr/bin/ssh 69.46.18.236:/var/www/phrogz.net/public /var/www/phrogz.net- повинен це зробити.
Цезій

Відповіді:


18

Ви можете спростити свою команду

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

або альтернативно

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

Як бачите, по- rsyncрізному інтерпретує джерело із заднім або без /.

Крім того, -aвін еквівалентний -rtplogD(стосовно вашого командного рядка -aтакож додає -o, зберігає власника -g, зберігає групу та -D, зберігає пристрої та спеціальні файли).

Нарешті, --rshпараметр є зайвим, коли джерело або пункт призначення у формі host:/path, з одиничним :.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.