如何正确使用rsync来保留所有文件的权限和所有权



我正试图使用rsync将一些数据从一台计算机(PopOS!21.04(备份到另一台计算机上(Rocky 8.4(。但无论我使用哪种标志进行rsync,文件权限和所有权似乎都无法保存。

我所做的是在PopOS上本地运行此命令:
sudo rsync -avz /home/user1/test/ root@192.168.10.11:/root/ttt/

结果我得到了一些链接:

[root@rocky_clone0 ~]# ls -ld ttt/
drwxrwxr-x. 2 user23 user23 32 Dec 17  2021 ttt/
[root@rocky_clone0 ~]# ls -l ttt/
total 8
-rw-rw-r--. 1 user23 user23 57 Dec 17  2021 test1
-rw-rw-r--. 1 user23 user23 29 Dec 17  2021 test2

因此,所有文件所有权都更改为user23,这是Rocky上唯一的常规用户。我不明白这是怎么发生的,使用rsync,我连接到远程主机上的root,但结果文件被复制为user23。为什么在这种情况下,flag不能正常工作?

我也尝试过这些标志:
sudo rsync -avz --rsync-path="sudo -u user23 rsync -a" /home/user1/test root@192.168.10.11:/home/user23/rrr
这个命令无法复制到根目录,所以我不得不将远程目标更改为user23的主文件夹。但结果是一样的。

如果有人能向我解释我做错了什么,以及如何使用rsync备份文件,使权限和所有权与本地计算机上的权限和所有权保持不变,我将不胜感激

看看(目标(文件系统是如何安装在Rocky(目标(系统上的。

一些挂载的文件系统(如许多FUSE挂载(不支持经典的unix权限,只使用挂载文件系统的用户的名称作为所有者/组。任何chown/cmod/etc的尝试(无论是由您还是由rsync(都将被默默地忽略,但似乎是";成功;(未报告错误(。

最新更新