gzip:stdout:运行自定义备份脚本时文件太大

Rol*_*and 5 bash shell

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

tar -zcf $DIRECTORY/var.www.tar.gz /var/www
tar -zcf $DIRECTORY/development.tar.gz /development
tar -zcf $DIRECTORY/home.tar.gz /home
Run Code Online (Sandbox Code Playgroud)

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

gzip: stdout: File too large
Run Code Online (Sandbox Code Playgroud)

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

Jür*_*zel 14

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

所以这不是一个gzip问题.

选项:使用其他文件系统或使用拆分:

tar czf - www|split -b 1073741824 - www-backup.tar.
Run Code Online (Sandbox Code Playgroud)

创建备份.

从多个部分恢复它:

cat www-backup.tar.*|gunzip -c |tar xvf -
Run Code Online (Sandbox Code Playgroud)


Adr*_*ian 6

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

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

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