tar -C ディレクトリの一部のファイル [重複]

tar -C ディレクトリの一部のファイル [重複]

2つのディレクトリがあり、tarディレクトリ構造が維持されないことを望んでいるとします。

/root/dir1
/root/dir2
  • また、/root/dir1からf1で始まるファイルと/root/dir1からlog.txtというファイルだけをバックアップしたいと思います。
  • /root/dir2 では、f2 で始まるファイルだけが必要です。

どうすればいいですか?

ベストアンサー1

GNU tarがある場合--transformまたは--strip-componentsオプションを使用して、ディレクトリツリーなしでフラットアーカイブを取得できます。それは次のとおりです。

tar cf foo.tar --transform='s:.*/::' /root/dir1/f1* /root/dir2/f2* /root/dir1/log.txt

/GNU tar はファイル名の先頭文字について警告しますが、とにかく削除します。

またはいくつかcdを使用してください。

cd /root/dir1;
tar cf /some/where/foo.tar f1* log.txt
cd /root/dir2;
tar uf /some/where/foo.tar f2*

cdここでは、sの影響を受けないtarアーカイブへのパスを指定する必要があります(絶対パスまたは両方のディレクトリなので、親フォルダへのパス/root)。

おすすめ記事