为什么“tar -cSf file.tar source”内存不足?

joe*_*ker 3 linux backup tar

我正在尝试通过制作 tarball 将 66 GB 的数据备份到 NAS,但是“tar -cSf ...”在 62 GB 后退出并出现“内存耗尽”错误。我的 Linux 机器有 1 GB 的 RAM 和 1 GB 的交换空间。

(编辑)我再次尝试了关于 tar 放弃的地方,并且 tar 很快又放弃了,所以看起来它可能在处理特殊文件时遇到了麻烦。

这些数据出人意​​料地难以备份。rsync 比 tar 慢 4 倍,因为 NAS 速度不是很快,并且它在中间退出,并显示“由对等方重置连接”;'cp' 在 cifs 共享上不能很好地工作,因为它无法创建特殊文件。有没有更好的办法?

Vin*_*vic 5

我不知道为什么,但我可以建议你尝试类似的东西

tar -L 32212254720 -f piece1.tar -f piece2.tar -f piece3.tar <path>
Run Code Online (Sandbox Code Playgroud)

每 30 GB 将创建一个文件。如果您达到 120 GB 标记,则需要添加第四个文件 (-fpiece4.tar)

如果这仍然失败,您可以尝试使用较小的部分并编写脚本来生成命令行(因为带有 80 -f 参数的命令行编写起来会很痛苦 :-) )