元のフォルダを離れずに元のフォルダを削除せずにフォルダを圧縮する方法

元のフォルダを離れずに元のフォルダを削除せずにフォルダを圧縮する方法

SQLディレクトリにはtmpフォルダのみがあります(tmpフォルダは59Gを使用します)。

元のtmpフォルダを保持せずにtmpフォルダを圧縮できますか?そのため、元のフォルダで圧縮が行われます。

フォルダの使い方:

 root@serverE1:/var/backup/SQL #  du -sh *

 59G     tmp

したがって、圧縮後は次のように表示されます。 (8Gは単なる例です。)

 8G   tmp.tar.gz

ベストアンサー1

解決すべき2つの問題があります。

  • 出力を中断せずにファイルを削除する方法
  • 出力を生成するときに出力を配置する場所。

にドットファイルがない場合は、/var/backup/SQL次のように簡単です。

  • 「.」で始まる名前の出力を生成するだけです。
  • オプションを使用してtarファイルに追加し--remove-filesます。
  • 出力名をtmp.tar.gz「完了したら」に変更します。

それはまるで

cd /var/backup/SQL
tar cfz .tmp.tar.gz --remove-files * && mv .tmp.tar.gz tmp.tar.gz

もしあなたならするdotファイルを使用すると、圧縮するファイルのリストを作成し、そのリストを使用してtarファイルを作成できます。 Linuxでは、-T()オプションを使用してこのリストを読むことができます--files-from。たとえば、次のようになります。

cd /var/backup/SQL
find . -type f >/tmp/list
tar czf tmp.tar.gz --remove-files --files-from /tmp/list

(一時ファイルの代わりにプロセスの交換を確実に提案することもできますが、これはサイズを制限する欠点があり、問題になる可能性があります。)

おすすめ記事