この質問にはすでに回答があります :9年前に閉鎖。
Linux
重複の可能性:
既存のtar.gzアーカイブにファイルを追加/更新しますか?
毎日更新したいゲームファイルがいくつかあり、フォルダーのtar.gzが作成されますが、毎日すべてのファイルの完全なtar.gzを作成する代わりに、チェックする方法を見つけようとしています。ファイルのディレクトリが変更/追加/削除され、アーカイブを更新して、アーカイブを毎日最初から再作成するのではなく、時間とCPUを節約します。どうすればこれを行うことができますか?
私はこれまで運がなかった–listed –incrementedを使おうとしていました。
承認された回答:
レベル0のバックアップを作成する必要があります 最初:
$ tar --create --verbose --listed-incremental ./game.snar --gzip \
--file game_`date +%F`.tar.gz game/
そして翌日、このコマンドは./game.snar
の作成以降に変更されたファイルのみを圧縮します :
$ tar --create --verbose --listed-incremental ./game.snar --gzip \
--file game_`date +%F`.tar.gz game/
このアーカイブはレベル1バックアップと呼ばれます 。
復元する場合は、すべてのアーカイブファイルをフォルダに入れ、--incremental
を使用して作成順にそれぞれを抽出します。 オプション、次のようなもの:
$ for t in game_2011-10-2*.tar.gz; \
do tar --verbose --extract --incremental --gzip --file $t; done