Tarに既存のアーカイブがある場合にのみ更新を許可する

Tarに既存のアーカイブがある場合にのみ更新を許可する

だから私が使用した次の行があります。

find . -maxdepth 1 -mindepth 1 -type d -exec tar cvf {}.tar {} --remove-files \;

各最上位ディレクトリを独自のtarアーカイブに圧縮し、ファイルを削除します。

今、何らかの理由で予期せず停止した場合は、どのようにして再び継続することができますか? tarがすでに存在する場合は、再生成する必要はありません。

私はこの--update旗を知っていますが、私には知識:

 -u, --update
       only append files newer than copy in archive

唯一のようです修正するファイルが最新であり、ファイルが存在しないときに実際に追加しない場合。

上記のタスクを実行するためにBash / Unixツールをどのように使用できますか?

答え1

r代わりに(追加モード)を使用してくださいc

find . -maxdepth 1 -mindepth 1 -type d -exec tar rvf {}.tar {} --remove-files \;

アーカイブがまだ存在しない場合はアーカイブを作成し、存在する場合はアーカイブに追加します。

関連情報