从 Linux 主机 rsync 到 fat32

从 Linux 主机 rsync 到 fat32

我喜欢将基于 Linux 的 NAS(图片等小文件)备份到附加的 FAT32 USB 磁盘。为此,我喜欢使用 rsync。

我知道,默认情况下这不会正确工作。 rsync 将一次又一次同步文件。 我找到了这个问题和答案:如何在 FAT 文件系统中使用 rsync?

但是,即使我使用--modify-window=1and--size-only选项,所有文件都会被重新处理。日志看起来像是,rsync 尝试在 fat32 上设置权限/所有权,这将失败。 rsync: chown "<filename>" failed: Operation not permitted (1)

问题是:有没有办法禁用“chown”命令?

//编辑:

目前我使用以下命令:rsync -a --modify-window=1 --size-only /data/ /mnt/backup/. &

答案1

只是不要使用同步所有者/组的选项。如果您使用--archive/-a选项,则包括这两个选项,因此请单独指定标志并省略它们。查看手册页以获取--archive暗示的列表。

答案2

我一直在尝试弄清楚如何防止 rsync 每次都复制每个文件,但一直没有成功。但我刚刚偶然发现了答案。这是一个 FAT32 短文件名问题;显然,默认情况下,Linux 会将它们全部转换为小写,这会使 rsync 无法识别源和目标上的同一个文件。

解决方案是使用“shortname=mixed”选项挂载 FAT32 设备。我相信您还需要使用 utf8 字符集,例如“iocharset=utf8”。然后使用以下参数运行 rsync:-rtv --modify-window=1

在安装了 Trinity 的 Debian 上,我可以右键单击桌面上的 FAT32 分区图标,选择“属性/挂载”,将“短名称”设置为“混合”,并确保选中“UTF-8 字符集”。希望有办法将这些设为所有 FAT32 分区的默认设置,但我还没有找到。

相关内容