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
)。