【问题标题】:Why rsync failed to copy all files? [closed]为什么 rsync 无法复制所有文件? [关闭]
【发布时间】:2018-10-31 23:30:40
【问题描述】:

我试图复制17171个文件,但是无论我使用什么参数,它总是复制111个丢失的17160。

但对另一个目录的相同命令,准确复制。 (16545 个文件)。

我也试过用cp,但也丢了11个文件。

当我用finder检查文件夹时,那里应该有17171个文件...

rsync -arvz src dst
cp src dst

以上是我试过的命令

【问题讨论】:

  • 能不能把没有复制的文件的文件名加进去。
  • 我该怎么做?
  • 我建议将此问题迁移到 Unix & Linux 或者 superuser.com

标签: linux bash unix copy rsync


【解决方案1】:

可能存在许多问题:

其中一个比较常见的问题是目标文件名在远程系统上是非法的,例如试图将文件名中带有冒号 : 的文件从 UNIX 复制到 Windows。

读取未复制的文件也可能存在权限问题,请在此处查看权限。

最后,您可以尝试将一堆文件压缩(或去皮)到一个文件中,然后只传输该文件。通常,在远程系统上解压缩该文件时,您会看到问题。

编辑:另一个想法 - 没有复制的文件是否真的很大,太大而无法远程存储?

如果您使用 -P 选项进行 rsync,它应该只重新传输未复制的文件。它还会打印进度,这应该让您更好地了解没有复制的内容。

【讨论】:

  • 不,所有文件都是小文本文件。
  • 我很困惑...有没有打印出哪 11 个文件丢失了?
  • 当我使用 -P 时,它会打印 1501 个要考虑的文件,1497 个要考虑的文件...(5 个源文件夹),要考虑的文件数是 17176(17171+5)应该是正确的,但只复制了 17160 个文件。
  • 诸如:find . -type f -exec rsync -Parvz {} dst \; 一个文件一个文件地复制它。它不会保留目录结构,但应该允许您查看哪些文件正在破坏。
猜你喜欢
  • 2014-09-24
  • 1970-01-01
  • 2017-12-12
  • 1970-01-01
  • 1970-01-01
  • 2016-12-25
  • 2011-08-24
  • 1970-01-01
  • 2012-12-22
相关资源
最近更新 更多