「./」で始まる.tarコンテンツを使用しないでください。

「./」で始まる.tarコンテンツを使用しないでください。

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"

これにより、コンテンツが一覧表示され$dirtarコンテンツをアーカイブするように求められます。代わりに、.コンテンツは$dirアーカイブのルートに表示されます。

/ルートパスから始まらないので、GNU固有の特定の項目は必要ありません--absolute-names

tar -cf - -C "$dir" $(ls -A "$dir") | xz -c > "$output/$name.$date.txz"

おすすめ記事