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 2011年

哇,是的,有!将其发布为答案,并告诉我如何更改命令以不创建public为子文件夹,您自己便拥有25个代表:)
Phrogz 2011年

1
从脚本中删除最终的“ public”,因此它将变为:rsync -rztpl --stats --rsh=/usr/bin/ssh 69.46.18.236:/var/www/phrogz.net/public /var/www/phrogz.net-应该这样做。

Answers:


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,具有单:

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.