RYSNC 传输的文件名与源文件名不同



这个问题不是 rsync 特有的。 如果我touch一个名为 /media/KINGSTON/seventeen. 的文件,则创建的文件将/media/KINGSTON/seventeen。 有人可以解释为什么吗?

dmesg
. . .
ugen3.2: <Kingston DataTraveler 3.0> at usbus3
umass0 on uhub6
umass0: <Kingston DataTraveler 3.0, class 0/0, rev 2.10/1.10, addr 2> on usbus3
umass0:  SCSI over Bulk-Only; quirks = 0x8100
umass0:5:0: Attached to scbus5
da0 at umass-sim0 bus 0 scbus5 target 0 lun 0
da0: <Kingston DataTraveler 3.0 PMAP> Removable Direct Access SPC-4 SCSI device
da0: Serial Number 485B39472CCAB171D76F0DF0
da0: 40.000MB/s transfers
da0: 118272MB (242221056 512 byte sectors)
da0: quirks=0x2<NO_6_BYTE>

gpart show /dev/da0*
=>       63  242220993  da0  MBR  (116G)
         63      31041       - free -  (15M)
      31104  242189952    1  !12  [active]  (115G)

我正在使用 rsync 备份一个 cyrus-imap 邮件存储。 赛勒斯 imap 消息文件名是数字后跟一个点 ( ####. )。 当这些消息文件在 FreeBSD-11.2 主机上使用 rsync 传输时, 目标文件名上的尾随点被移除 (####.变为 #### )。 有没有办法防止这种行为?

rsync 
  --copy-links  
  --no-group  
  --no-perms   
  --progress  
  --protect-args  
  --modify-window=1  
  --recursive  
  --times  
  --update  
  --verbose  
     ./Documents/Personal/IMAP  
     /media/KINGSTON/Documents/Personal/IMAP

从进一步的测试来看,这种行为取决于目的地。 从系统硬盘复制和复制到系统硬盘时,尾随点出现在目标文件名中。 当目标是 USB 密钥时,点会从目标中消失。

有效的 MS Windows 文件名中不允许使用尾随点或空格。 传输的文件在复制到 FAT 格式的 USB 时会以静默方式更改其名称以满足此要求。

从Microsoft文件命名约定 (https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file):

不要以空格或句点结束文件或目录名称。虽然 底层文件系统可能支持这样的名称,Windows shell 而用户界面则没有。但是,可以指定 句点作为名称的第一个字符。例如,".temp"。

相关内容

  • 没有找到相关文章

最新更新