2009/11/14

巨大なファイルとか大量のファイルをアーカイブしたり復元したり

gzipって、2GBまでっていうサイズの制限があるじゃないですか。
昔はそれでよかったかもしれないですが、今のご時世、そんなの余裕で超えちゃうことがあって困っちゃう。
そんなあなたに、今日ご紹介するのはこれ。
cpio - アーカイブファイルへのファイルのコピーや、アーカイブファイルからファイルへのコピーをおこなう

詳しいことはmanをみればいいんだけど、やたらといっぱいいろいろ書いてあってげっそりするので、超簡単に使い方を。

ファイルをアーカイブしたいときはファイル名のリストを渡してやります。
私の都合で恐縮ですが、hote.txtってファイルよりも新しいファイルだけをアーカイブしたいのでこんな感じで。
find ./* -cnewer hoge.txt | cpio -oa > backup.cpio


ほんでそれを復元するときは、
cpio -idm < backup.cpio


アーカイブした時のオプションの説明はこれ
-a, --reset-access-time
ファイルを読み込んだ後に、それらのファイルのアクセスタイムの再設定を行います。これは、これらのファイルがその時点で読み込まれたもののように見えないよ う
にするためです
-o, --create
コピーアウトモードで走行します。

復元した時のオプションの説明はこれ
-d, --make-directories
必要に応じてディレクトリを作成します。
-m, --preserve-modification-time
コピー先のファイル生成時に、コピー元のファイルの更新時刻を保持します。
-i, --extract
コピーインモードで走行します。

manからコピってきただけだよ!じゃあの。

Google Analytics