2010-04-23 115 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的