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

例如,远程服务器是saturn,而我想将saturn的/ home / udi / files / pictures备份到本地目录命名为备份。

我想要(本地)备份/ home / udi / files /图片,而不是备份/图片。

#1 楼

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

#2 楼

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

backup/files/pictures


您可以编写:

rsync --relative /home/udi/./files/pictures backup


魔术/./告诉rsync从哪里开始从创建目录。

评论


这对我有用!是魔术./是Linux构造还是特定于rsync?只是试图对此行为有一些了解。

– flow2k
19-09-23在19:31



@ flow2k只是rsync魔术,对于POSIX来说是多余的。

– Ciro Santilli郝海东冠状病六四事件法轮功
19-09-23在21:55

#3 楼

使用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

评论


它没有用,因为我们需要在执行rsync命令之前在本地重现整个目录层次结构。

–Ludovic Kuty
2012年4月2日,11:42