Adam Matan Asked: 2009-07-13 01:37:02 +0800 CST2009-07-13 01:37:02 +0800 CST 2009-07-13 01:37:02 +0800 CST 如何使用 rsync 保持完整路径? 772 使用 rsync 备份时,如何保留完整的目录结构? 例如,远程服务器是saturn,我想将saturn的/home/udi/files/pictures备份到本地名为backup的目录中。 我想要(本地)backup/home/udi/files/pictures而不是backup/pictures。 backup rsync path directory 3 个回答 Voted Best Answer Dentrasi 2009-07-13T01:53:48+08:002009-07-13T01:53:48+08:00 使用-Ror--relative选项保留完整路径。 Ciro Santilli OurBigBook.com 2019-07-04T05:56:54+08:002019-07-04T05:56:54+08:00 另一个常见的相关用例是将目录树的选定部分保留为/./,例如,如果您想要: /home/udi/files/pictures 要去: backup/files/pictures 你可以写: rsync --relative /home/udi/./files/pictures backup 魔术在将路径传递给系统调用之前/./被专门解析rsync,并告诉它从哪里开始创建目录。一般来说,对于其他 POSIX 实用程序来说,这/./没有任何意义,例如路径与 POSIXa/./b中的相同a/b。 John Rennie 2009-07-13T02:05:46+08:002009-07-13T02:05:46+08:00 使用 Cygwin Windows rsync,并假设远程 rsync 指向根目录,我会这样做: rsync -vtrz --delete server::rsyncid/home/udi/files/pictures /cygdrive/d/backup/home/udi/files 这会将远程图片目录的内容放在 /backup/home/udi/files/pictures 中。大概unix下的语法会是类似的。 JR
使用
-R
or--relative
选项保留完整路径。另一个常见的相关用例是将目录树的选定部分保留为
/./
,例如,如果您想要:要去:
你可以写:
魔术在将路径传递给系统调用之前
/./
被专门解析rsync
,并告诉它从哪里开始创建目录。一般来说,对于其他 POSIX 实用程序来说,这/./
没有任何意义,例如路径与 POSIXa/./b
中的相同a/b
。使用 Cygwin Windows rsync,并假设远程 rsync 指向根目录,我会这样做:
这会将远程图片目录的内容放在 /backup/home/udi/files/pictures 中。大概unix下的语法会是类似的。
JR