gzip Recovery Toolkit

毎日数千のファイルをtar.gzで固めてデイリーで保管しているのですが、解凍できないと言われたのでメモ。
Cronで処理して固めたときのログはエラーはでてないんだけど、たしかにこの日の分だけ解凍できない。

エラー内容

gzip: stdin: invalid compressed data--format violated
tar: アーカイブ中に予期せぬ EOF があります
tar: エラーを回復できません: 直ちに終了します
gzip: stdin: invalid compressed data--format violated
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now

どうもGZIPが壊れてるみたい・・・・

 
 
たしか、できるところまでリカバリするやつあったなと思いさがしてみる。
ということで、「gzip Recovery Toolkit」というのがあるのでつかってみる。

まず、インストール

yum install gzrt

壊れたGZIPファイルを修復

gzrecover aaa.tar.gz

そうすると、「aaa.tar.recovered」のようなGZIPをできるだけ解凍したファイルができます。

tar.gzの場合は、さらにtarをほどく必要があるので、cpioを使います。(paxでも可らしい)

cpio -ivdm < aaa.tar.recovered

今回は、必要なファイルが全部もどらなかったのですが、運がよければだいたい戻るかも。
ってか、そもそもの原因が不明てとても気になる。ファイルシステムのバグ?、gzipのバグ?

<参考>
UNIXの部屋 コマンド検索: gzrecover

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA