What is the best way to synchronize files to a VFAT partition?

Fra*_*ank 7 file-copy synchronization vfat

POSIX filenames may contain all characters except /, but some filesystems reserve characters like ?<>\\:*|". Using pax, I can copy files while replacing these reserved characters:

$ pax -rw -s '/[?<>\\:*|\"]/_/gp' /source /target
Run Code Online (Sandbox Code Playgroud)

But pax lacks an --delete option like rsync and rsync cannot substitute characters. I'm looking for a simple way to backup my music collection to an external hard drive on a regular basis.

Gil*_*il' 5

您可以使用 POSIX 语义查看 FAT 文件系统,包括支持具有除/空字节或空字节以外的任何字符的文件名。POSIXovl是一个相对较新的FUSE文件系统。

mkdir backup-fat
mount.posixovl -S /media/sdb1 backup-fat
rsync -au /source backup-fat/target
Run Code Online (Sandbox Code Playgroud)

VFAT 不接受的文件名中的字符被编码为%(XX)where XXare 十六进制数字。从 POSIXovl 1.2.20120215 开始,请注意文件名 like%(3A)被编码为自身,并将被解码为:,因此如果您的文件名包含形式的子字符串,则存在冲突的风险%(XX)

请注意 POSIXovl 无法处理过长的文件名。如果编码名称不适合 255 个字符,则无法存储该文件。

POSIXovl 将 unix 权限和所有权存储在名为.pxovl.FILENAME.