ディレクトリをtar-gzipに圧縮して結果をそれに入れるにはどうすればよいですか?

ディレクトリをtar-gzipに圧縮して結果をそれに入れるにはどうすればよいですか?

Linuxでホームディレクトリ全体をバックアップしたいと思います。このディレクトリが私が書き込み権限を持っている唯一のディレクトリであるとしましょう。

このディレクトリをtar-gzipに圧縮して結果をそれ自体に入れるにはどうすればよいですか?

答え1

tar zcf home-backup.tar.gz --exclude ./home-backup.tar.gz.

答え2

すでに提案されています

tar zcf home-backup.tar.gz --exclude home-backup.tar.gz .

はい、しかし私はただ1つのディレクトリではなく、多くのファイルを含むtarをあまり好きではありません。同じ操作をディレクトリに実行するには、次の手順を実行します。

cd /home
tar -czf yourhome/yourhome.tgz --exclude yourhome.tgz yourhome/

どちらの場合も、次のエラーメッセージが表示されます。

tar: yourhome: file changed as we read it

スクリプトからバックアップして終了コードを確認したい場合は問題になる可能性があります。とにかくこれを無視すると、他の問題が隠れる可能性があります。バックアップを開始する前に空のtgzを作成すると、この状況を排除できます。

touch yourhome.tgz

答え3

有効な最新のtar実装を使用している場合は、基本的に目的の方法で機能します。

star -cz . > archive.tar.gz

警告が印刷されます。

star: 'archive.tar.gz' is the archive. Not dumped.

関連情報