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

现在我知道你不应该把1000万个文件放到一个目录中开始.把它归咎于开发人员,但因为它就是我所处的位置.我们将修复它并将它们移动到文件夹组中,但首先我们必须将它们从生产框中复制出来.

我第一次尝试rsync但它会失败.我认为这是因为在内存中存储文件的名称和路径大于ram和swap空间.

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

我试着做一个tar来解决tar,但是我得到了一个“无法打开:文件太大”

tar c images/ | tar x –C /mnt/coverimages/

额外信息:

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

所有文件都是图像

操作系统:Gentoo

解决方法

如果安装rsync的第3版,它将执行要传输的文件的滚动列表,并且不需要将整个文件列表保留在内存中.在将来,您可能希望考虑散列文件名并基于这些散列的部分创建目录结构.

你可以看到this answer来了解我对散列的意思.

相关文章

查找全部容器的日志文件 $ sudo find /var/lib/docker/conta...
Linux日志文件中列属性的详细解析
在Linux系统中没有duf命令,如何有效地管理磁盘空间?
深入探讨EncryptPad在Linux操作系统中的功能和优势
原理和应用场景:Linux中ttyload工具的工作原理和实际用途
深度解析SELinux的三种策略类型