如何通过 rsync 备份到远程机器,保留权限和所有权?

Joh*_*ero 3 ssh backup permissions rsync rsnapshot

驱动器A在家里的壁橱里是 2TB。

B在我工作的办公室里,驱动器是 2TB。

我想驱动器A是一个我经常使用的,并有rsync镜像AB每晚/每周。

我遇到的问题是多个用户在A.

我有 rootrsync -avz从运行A$MYNAME:B

Root 当然可以读取 上的所有内容A,但无权在 上写入非$MYNAME内容B

我该怎么做?我应该有一个无密码的私钥A登录到rootB吗?好像超级危险

此外,我更愿意使用rsnapshot但看起来他们要求我借鉴BA使用密码的私钥对根的帐户,我很害怕的。

Sté*_*las 6

有一个--fake-super选项可以存储无法在扩展属性中设置的属性(这意味着目标 FS 必须支持扩展属性)。

要检查扩展属性支持,您可以使用setfattr或 rsync 本身来完成。然后它演示了它是如何工作的:

~$ rsync --fake-super /bin/ls .
~$ getfattr -dm- ./ls
# file: ./ls
user.rsync.%stat="100755 0,0 0:0"
Run Code Online (Sandbox Code Playgroud)

请注意,-a 不会保留所有内容,您可能需要 -H、-A、-X、--numeric-ids。