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

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

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

例如,远程服务器是土星,我想备份土星/主页/udi/文件/图片到名为的本地目录备份

我想要(本地)备份/主页/udi/文件/图片而不是备份/图片

答案1

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

答案2

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

/home/udi/files/pictures

要去:

backup/files/pictures

你可以写:

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

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

答案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

答案4

你可以根据自己想要启动 rsync 的时间在 cron 中进行更改

rsync -avz -e ssh ruser@rserver:/home/udi/files/pictures/* /backup/pictures/

您还可以添加 ssh 密钥来无需密码即可连接远程服务器

相关内容