tarとxzを使用してディレクトリをバックアップしようとすると問題があります。ファイルを開くと、すべてのファイルとディレクトリが./
. で始まります。そんなことが起きたくありません。
file.tar.xz
|---- ./directory
|---- ./file1.txt
|---- ./file2.txt
|---- ./file3.txt
これは私が使用するコードです:
tar -cf - -C $dir --absolute-names . | xz -c > $output/$name.$date.txz
これを防ぐために何を変更する必要がありますか?
ベストアンサー1
名前に特殊文字を含む低レベルのファイルまたはディレクトリを処理する必要がない場合$dir
:
tar -cf - -C "$dir" --absolute-names $(ls -A "$dir") | xz -c > "$output/$name.$date.txz"
これにより、コンテンツが一覧表示され$dir
、tar
コンテンツをアーカイブするように求められます。代わりに、.
コンテンツは$dir
アーカイブのルートに表示されます。
/
ルートパスから始まらないので、GNU固有の特定の項目は必要ありません--absolute-names
。
tar -cf - -C "$dir" $(ls -A "$dir") | xz -c > "$output/$name.$date.txz"