我正在尝试将大量文件目录从我的服务器同步到本地计算机。(两者都运行 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
你可以简化你的命令
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
只有一个 时,该选项是多余的:
。