如何使用 rsync 保留完整路径?

Ada*_*tan 73 backup rsync directory path

使用 rsync 备份时,如何保留完整的目录结构?

比如远程服务器是saturn,我想把saturn/home/udi/files/pictures备份到本地一个名为backup 的目录下。

我想要(本地)backup/home/udi/files/pictures而不是backup/pictures

Den*_*asi 91

使用-R--relative选项保留完整路径。


Cir*_*郝海东 16

另一个常见的相关用例是使用 保留目录树的选定部分/./,例如,如果您想要:

/home/udi/files/pictures
Run Code Online (Sandbox Code Playgroud)

要去:

backup/files/pictures
Run Code Online (Sandbox Code Playgroud)

你可以写:

rsync --relative /home/udi/./files/pictures backup
Run Code Online (Sandbox Code Playgroud)

在将路径传递给系统调用之前,魔法/./会被特别解析rsync,并告诉它从哪里开始创建目录。这/./对于其他 POSIX 实用程序一般没有任何意义,例如路径a/./ba/bPOSIX 中的相同。