【问题标题】:gzip: stdout: File too large when running customized backup scriptgzip:stdout:运行自定义备份脚本时文件太大
【发布时间】:2010-04-23 15:45:47
【问题描述】:

我创建了一个简单的备份脚本,它只备份某些文件和文件夹。

tar -zcf $DIRECTORY/var.www.tar.gz /var/www
tar -zcf $DIRECTORY/development.tar.gz /development
tar -zcf $DIRECTORY/home.tar.gz /home

现在这个脚本运行了大约 30 分钟然后给了我以下错误

gzip: stdout: File too large

我可以使用任何其他解决方案来使用 shell 脚本或解决此错误的方法来备份我的文件?感谢您的帮助。

【问题讨论】:

  • 您可以尝试使用不同的文件系统类型。
  • /development 在 NTFS 上运行。 ext 4 上的其余部分,然后备份到 ntfs
  • 旧版本的 Samba 有 2G 文件大小限制,以防万一。
  • 愚蠢的问题:$DIRECTORY 在 /home 中吗?因为如果是这样,无论您做什么,您肯定会遇到一些限制,因为您的脚本将陷入无限循环,试图将文件附加到自身中。
  • $DIRECTORY 包含文件需要存储到的目录,并且在 FLASH 驱动器 NTFS 分区上

标签: bash shell


【解决方案1】:

文件太大是来自您的 libc 的错误消息:输出已超出文件系统的文件大小限制。

所以这不是 gzip 问题。

选项:使用另一个文件系统或使用拆分:

tar czf - www|split -b 1073741824 - www-backup.tar.

创建备份。

从多个部分恢复它:

cat www-backup.tar.*|gunzip -c |tar xvf -

【讨论】:

  • 他提到文件系统是 NTFS 和 EXT 4,所以我不确定为什么 libc 会反击。尽管如此,听起来不错 +1。
【解决方案2】:

您正在备份的文件系统能否支持大文件?

具体来说,FAT32 在单个文件中的限制约为 4GB,其他文件系统也有类似的限制。

如果您的备份运行 30 分钟,文件很容易达到这种大小。

【讨论】:

  • 同样,您的targzip 版本是否支持大文件?
  • 他在回应 WhirlWind 的评论时提到了 NTFS 和 ext4。
【解决方案3】:

使用不同的压缩工具,例如 compress 或 bzip2

【讨论】:

  • 这个答案不正确,因为 gzip 可以很好地处理大文件。这是一个文件系统问题,错误来自 libc,而不是 gzip。
猜你喜欢
  • 2013-10-01
  • 1970-01-01
  • 2021-09-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多