rsync“操作不允许”

rsync“操作不允许”

我正在尝试对 USB 硬盘进行简单的 rsync,命令是

rsync -az --modify-window=2 /home /mnt/exthd/tmp/

我以 root 身份运行它。

但我收到很多错误,这些错误似乎都与权限不足有关:

rsync: chown "/mnt/exthd/tmp/home/someuser" failed: Operation not permitted (1)
rsync: chown "/mnt/exthd/tmp/home/someuser/.bash_logout" failed: Operation not permitted (1)
rsync: chown "/mnt/exthd/tmp/home/someuser/.bash_profile" failed: Operation not permitted (1)
rsync: chown "/mnt/exthd/tmp/home/someuser/.bashrc" failed: Operation not permitted (1)
rsync: chown "/mnt/exthd/tmp/home/guest" failed: Operation not permitted (1)
rsync: chown "/mnt/exthd/tmp/home/guest/.bash_logout" failed: Operation not permitted (1)
rsync: chown "/mnt/exthd/tmp/home/guest/.bash_profile" failed: Operation not permitted (1)
rsync: chown "/mnt/exthd/tmp/home/guest/.bashrc" failed: Operation not permitted (1)
rsync: symlink "/mnt/exthd/tmp/home/guest/fred2" -> "fred" failed: Operation not permitted (1)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1042) [sender=3.0.7]

这是版本 3.0.7。我尝试使用 --super 选项,但没有效果。有什么想法吗?

答案1

FAT 文件系统(Linux 的挂载称为 vfat)无法存储有关 Linux 端文件的一些权限和所有权数据。

你的选择似乎是:

  • 使用 ext3/4 或支持这些属性的其他文件系统格式化磁盘。我认为如果您与 Windows 共享,即使 NTFS 也可以完成这项工作。
  • 使用该选项存储这些额外属性--fake-super,以便 rsync 将 xattrs 写入文件中,而不是使用文件系统属性
  • 忽略错误,这些属性将会丢失。
  • 将数据集包装到 tar 文件中,并将 tar 文件放在 FAT 系统上。所有属性均会保留,如果您提取它,它们将存在。

答案2

Rsync 正在尝试文件系统不允许或无法执行的操作(chown 和 symlink)。我猜你的外部硬盘有一个 FAT 文件系统。

如果您想进行适当的备份,您可能需要使用 tar。

相关内容