tarで一部のファイルを除外する

tarで一部のファイルを除外する

バックアップを作成したいのですが、テープにすべてを保存できるスペースがないため、仮想マシン (1 TB 以上) はバックアップしないことにしました。

仮想マシンは.local/share/libvirt/images

私はこのコマンドを使用しました

tar cvf - /home/user -X altro/file.esclude  | openssl aes-256-cbc -salt  -k "password" | dd bs=80M of=/dev/st0

私はaltro/file.escludeこの行を入れました/home/user/.local/share/libvirt/images

しかし、tar は除外ファイルを無視してすべてをバックアップします!!

だから私は

tar cvf - /home/user --exclude '/home/user/.local/share/libvirt/images'  | openssl aes-256-cbc -salt  -k "password" | dd bs=80M of=/dev/st0

そして...同じこと!

なぜ?


システムはSlackware 14.2とgnu tarです

答え1

X は、tar ファイルに含めるパスの前に付ける必要があります。

それで:

tar cvf - /home/user -X altro/file.esclude  | openssl aes-256-cbc -salt  -k "password" | dd bs=80M of=/dev/st0

間違っている。

これ:

tar cvf - -X /home/user/altro/file.esclude /home/user | openssl aes-256-cbc -salt  -k "pass" | dd bs=80M of=/dev/st0

は正しい

除外ファイルでは、

/home/user/.local/share/libvirt/images/*

関連情報