“rsync: [generator] mknod … 失败:文件名太长(36)”,尽管文件和路径名的长度远短于 255 和 4096

“rsync: [generator] mknod … 失败:文件名太长(36)”,尽管文件和路径名的长度远短于 255 和 4096

在 QNAP NAS 上,我尝试将一个巨大的备份目录从内部复制到 USB 磁盘。备份集是使用回溯创建的,因此它使用硬链接进行重复数据删除并使用 encfs 生成文件和目录名称。

运行时rsync -aH --inplace /share/MD0_DATA/Backups/ /mnt/t2/B/我收到以下错误:

rsync 3.0.7(QNap 库存)

sync: mknod "/mnt/t2/B/home/8QxnYj…iE0pCkQxr" failed: No such file or directory (2)

rsync 3.2.7-1a(Entware)

rsync: [generator] mknod "/mnt/t2/B/home/8Qxn…iE0pCkQxr.26280" failed: File name too long (36)

文件名长度限制并非通常的 255/4096

我知道文件名长度为 255 字节,路径名限制为 4096 字节:但这似乎并不适用于我的情况。

  • 单个文件/目录名最长只有47个字符
  • 完整路径只有 294 个字符
  • 源路径甚至更长!
  • 源文件甚至是由使用与接收方相同的本地 rsync 回溯创建的。只是发送方和服务器不同。
  • touch我可以轻松使用和创建和删除精确的路径rm
  • 源和目标位于同一系统上,相同的文件系统类型(ext4),具有相同的挂载选项。

即,rsync 报告的一个示例路径如下:/mnt/t2/B/home/8QxnYjsi5RSEftKDx9qGbzq3/l7ZyYNV0C,yeUTgnIuhcEQBb/ayR8ehutEqbvovJLf36EYUH1/qeJqrGaptTSMwTPoezYN2mTb/-P-gLqJGmcDYgYp6GXsLX1uaucCW-nRUlhftGIeeRotg70/vBksKzx1a3G0lIbOPqKeJEe1/Er1HTeysXU8ENmZfYkbsAPCl/XyR8ehutEqbvovJLf36EYUH1/LzHu4oEpUPIXMypAwK5XGU7L/.y-gLkcg40i8ooEbiE0pCkQxr.26280

对于罪魁祸首和如何解决这个问题您有什么想法吗?

答案1

最后发现这两条错误信息只是误导:源文件似乎是一组备份套接字文件。只有这些文件才会产生这些错误。

srwxrwxr-x    1 ben      ben              0 Jul  4  2021 y-gLkcg40i8ooEbiE0pCkQxr

有趣的是,声称的目标文件名是.y-gLkcg40i8ooEbiE0pCkQxr.26280,而实际的源文件缺少源和前缀,实际上是y-gLkcg40i8ooEbiE0pCkQxr(没有前导点和尾随数字)。

相关内容