2010-04-23 114 views
3

我创建了一个只备份特定文件和文件夹的纯文本备份脚本。gzip:stdout:运行自定义备份脚本时文件太大

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脚本或解决这个错误的方式使用备份我的文件,任何其他解决办法?我很感激任何帮助。

+0

您可以尝试使用不同的文件系统类型。 – WhirlWind 2010-04-23 15:47:59

+0

/开发在NTFS上运行。其余的分机4,然后备份到ntfs – Roland 2010-04-23 15:49:22

+0

较旧版本的Samba具有2G文件大小限制,以防相关。 – 2010-04-23 17:14:10

回答

10

文件过大是从你的libc一个错误信息:输出已经超过了你的文件系统的文件大小限制。

所以这不是gzip问题。

选项:使用另一个系统或采用分体式:

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

创建备份。

由多个部分恢复它:

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

他提到文件系统是NTFS和EXT 4,所以我不确定为什么libc会推回来。尽管如此,听起来很正确。 – 2010-04-23 17:04:49

2

您正在备份的文件系统可以支持大文件吗?

具体而言,FAT32在单个文件中具有〜4GB的限制,而其他文件系统具有相似的限制。

如果您的备份运行30分钟,该文件可能很容易获得该类型的大小。

+0

同样,你的'tar'和'gzip'版本是否支持大文件? – 2010-04-23 15:55:38

+0

他在回应WhirlWind的评论时提到了NTFS和ext4。 – 2010-04-23 15:56:07

0

使用不同的压缩实用程序,如压缩或bzip2的