basyura's blog

あしたになったらほんきだす。

tar でいらないものは圧縮しない

たとえばこんなディレクトリ構成の java web アプリケーションのバックアップを取りたい場合に

app
+ ContextRoot
  + WEB-INF
    + classes
  + jsp

全体を tar で固めてた

tar -cvf app.tar app

classes フォルダ配下の *.class ファイルいらないんだけど、やりかたがよく分からない、そういうもんだと思ってやってたんだけど、解決策があった。

$ tar --exclude='*.tmp' -cvf ../archive.tar .
とすれば、*.tmp という名前のフィイルはアーカイブに入りません。

本日のtip その2:アーカイブにゴミや見せたくないファイルを入れない方法

なるほど。で試してみた

tar --exclude='*.class' -cvf app.tar app

できた。けど、よく考えたら classes フォルダ事スキップすれいいじゃんと。

tar --exclude='classes' -cvf app.tar app

ついでに CVS フォルダもいらね

tar --exclude='classes|CVS' -cvf app.tar app

できない。二回指定すればいいみたい。

tar --exclude='classes' --exclude='CVS' -cvf app.tar app

こういうもの?マニュアル読めって?