将单个文件夹中的 1000 万张图像复制到另一台服务器

The*_*nja 7 linux rsync tar

现在我知道您一开始就不应该将 1000 万个文件放入一个目录中。将其归咎于开发人员,但就目前而言,这就是我所处的位置。我们将修复它并将它们移到文件夹组中,但首先我们必须将它们从生产盒中复制出来。

我第一次尝试 rsync 但它会失败得很惨。我认为这是因为在内存中存储文件的名称和路径大于内存和交换空间。

然后我尝试将其全部压缩到 tar.gz 中,但无法解压缩,文件太大错误(60gigs)。

我试图只做一个 tar 来 tar 勒索,但我得到了一个“无法打开:文件太大”

tar c images/ | tar x –C /mnt/coverimages/
Run Code Online (Sandbox Code Playgroud)

额外信息:

/mnt/coverimages/ 是我们要将图像移动到的 nfs 共享。

所有文件都是图像

操作系统:Gentoo

Kyl*_*ndt 15

如果您安装 rsync 的 3+ 版本,它将执行要传输的文件滚动列表,并且不需要将整个文件列表保留在内存中。将来,您可能要考虑对文件名进行散列并根据这些散列的一部分创建目录结构。

您可以查看此答案以了解我对散列的含义。