xy. 发表于 2023-7-17 16:02

说点无关的: 16 亿个数据是不是不太适合交给文件系统管理了, 就算成功传过去了读起来也很慢啊...
可以合并成 4M 的块, 然后自己维护索引

对应你需求的正解很早有人说了, 就是 tar

Doomslang 发表于 2023-7-17 16:10

xc11748 发表于 2023-7-17 16:16

ltzyID 发表于 2023-7-17 16:01
楼主的需求应该是将这1.98T的诸多文件,拷贝到另一台linux服务器上使用,

一个一个文件的拷贝数量巨大的小 ...

这16亿个文件是数据产品,放linux服务器上做发布使用,因为要发给多个客户,还没来得及做数据库或对象存储来管理,临时采用压缩打包成一个文件的方式。之前采用零碎文件的方式拷贝到移动硬盘里,整整花了2天。

foxsheep 发表于 2023-7-17 16:19

直接转成虚拟磁盘?

xc11748 发表于 2023-7-17 16:21

xy. 发表于 2023-7-17 16:02
说点无关的: 16 亿个数据是不是不太适合交给文件系统管理了, 就算成功传过去了读起来也很慢啊...
可以合并 ...

这是下一步要做的事情。目前是需要拷贝到linux服务器上做发布使用,如果打包成4M大小分块,技术上可行,主要是缺少发布服务,需要现开发,时间上来不及。后期会选择数据库或对象存储的技术路线

ntuchenxy 发表于 2023-7-17 16:23

可以试试先打包一点,然后往压缩包里逐渐添加文件,手动是不现实了,找找API接口吧

iooo 发表于 2023-7-17 16:27

这么多小文件,最好分卷处理,开发来不及,写个脚本总有吧

ror 发表于 2023-7-17 16:31

这个问题让统计出有16亿个文件的人搞就行,别老想着用图形界面

lasx 发表于 2023-7-17 16:41

本帖最后由 lasx 于 2023-7-17 16:42 编辑

tar 分卷打包。tar -czf - 文件夹 | split -b 2048m -d - 文件名.tar.gz

自己调整文件分卷大小,比内存稍小些应该可行。打包小文件最是麻烦。我千万级的数据文件在windows下搞了好几天。

ysc3839 发表于 2023-7-17 16:55

本帖最后由 ysc3839 于 2023-7-17 16:58 编辑

xc11748 发表于 2023-7-17 15:58
用bandizip最后提示资源耗尽,把内存和系统盘设置的缓存压榨尽了,一滴不剩。用7zip压缩了一天多,最后提 ...

还是没说清楚具体是什么错误提示,请截图或拍照

不过还是建议先试试Win10自带命令行tar再说,说不定就没问题

chainofhonor 发表于 2023-7-17 17:01

tar -czvf dabao.tar   /dabao/

九天御风 发表于 2023-7-17 19:31

这么多小文件啊,要是其中一个出错损坏了是不是要排查到明年了

solar_cs 发表于 2023-7-17 20:33

16亿个文件是怎么来的?
用原方式重生成下吧。

zhjook 发表于 2023-7-17 20:42

mqwxp 发表于 2023-7-17 14:08
建一个分区用windows的文件压缩功能,然后整个分区转储过去

直接ghost 吧,

xc11748 发表于 2023-7-17 20:43

solar_cs 发表于 2023-7-17 20:33
16亿个文件是怎么来的?
用原方式重生成下吧。

自己写程序生成的,小众领域,很容易生成,最终是2的21次方个文件

xc11748 发表于 2023-7-17 20:46

ysc3839 发表于 2023-7-17 16:55
还是没说清楚具体是什么错误提示,请截图或拍照

不过还是建议先试试Win10自带命令行tar再说,说不定就没 ...

现在正在用tar命令压缩,看行不行。后期会有200多亿个文件,管理和传输也是个大问题

ysc3839 发表于 2023-7-17 21:12

xc11748 发表于 2023-7-17 20:43
自己写程序生成的,小众领域,很容易生成,最终是2的21次方个文件

那或许要考虑一下使用数据库

荡漾的潇洒 发表于 2023-7-17 21:45

直接克隆硬盘镜像最快.

enben 发表于 2023-7-17 21:52

xc11748 发表于 2023-7-17 20:46
现在正在用tar命令压缩,看行不行。后期会有200多亿个文件,管理和传输也是个大问题 ...

程序简单,实现起来麻烦。算法复杂,实现简单。

夏天 发表于 2023-7-17 21:56

本帖最后由 夏天 于 2023-7-17 22:06 编辑

xc11748 发表于 2023-7-17 20:43
自己写程序生成的,小众领域,很容易生成,最终是2的21次方个文件

那用ZFS呢?生成,直接linux挂载。前几天才搞了一个十几T文件的数据池,用zfs send/recv 发到另外一个池,一天多就搞定了。我那是机械盘。你SSD对SSD ,那没啥压力吧。

21mm 发表于 2023-7-17 22:39

tar 没问题 我刚好跟你类似的项目 800多g的 1-4k的文件   压缩后大概70g 左右tar-zcfwindows下如何放得下这么多文件的 比较好奇 按4k蔟 容不下这么多文件吧。

21mm 发表于 2023-7-17 22:39

还有个方案 就是手动先分组 慢慢一个文件夹一个文件夹压缩7zwinrar 都有文件个数上限的。

qiaozd 发表于 2023-7-17 23:07

复制粘贴到移动硬盘或者磁盘里带过去不行吗?

无心飞翔 发表于 2023-7-17 23:11

dd命令呢?

guaguahuang 发表于 2023-7-17 23:11

xc11748 发表于 2023-7-17 20:43
自己写程序生成的,小众领域,很容易生成,最终是2的21次方个文件

2的21次方不是 210万不到么??[吐槽]

16亿 ,没记错,我记得是超过 2的32次方了啊。。。

你这种,常规环境下,好像确实很多软件无法运作。

虽然是 64位系统,但是毕竟不是真64位的啊。。。

只能建议你 把这 16个文件,分成好几个 文件夹之后,在 分开压缩吧。

DiorsMan 发表于 2023-7-18 00:37

tar cvzf

sunchau 发表于 2023-7-18 01:06

網盤同步?

厌夜 发表于 2023-7-18 02:42

直接扔进数据库里呗,16亿不算多。

rubycon2008 发表于 2023-7-18 06:15

xc11748 发表于 2023-7-17 14:11
设置仅存储模式了,还是提示压缩失败

就不能分几部分打包压缩么?

1.98TB 的小文件打包成一个压缩包,不知道多强大的电脑配置了?

jcd_chh 发表于 2023-7-18 07:14

何不tar?而且linux基本都有吧
页: 1 [2] 3 4
查看完整版本: 16亿个二进制文件如何打包成一个文件?