我正在尝试对 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。