小さなファイルがたくさん(約500万個)あるのに、それぞれgzip
。tar.gz
- ファイルを解凍して再圧縮するスペースが不足しているはずです
tar.gz
。所定の位置に。縮小率は約15:1でかなり良いです。 - CPU 時間があまり利用できないため、再圧縮に時間がかかることがあります。
- ファイルを他の場所に移動または削除することはできません。重要な安全理由
だから。どうですか?
答え1
アーカイブを圧縮する必要はなく、すでに圧縮されているファイルをアーカイブに追加するだけです。
tar -cf archive.tar directory_with_compressed_files
答え2
少数のファイルを保存するのに十分なスペースがある場合は、チャンクとして保存するか、必要に応じて自動化することもできます。ファイルが次のように保存されているとします。
.
+-dir0000
| +-file0000.gz
| +-file0001.gz
| [...]
+-dir0001
| +-file1000.gz
| +-file1001.gz
[...]
各ディレクトリに対して以下を実行します(ファイルの共有ルートから)。
tar rf /path/to/archive_name.tar dir_name
rm -r dir_name
このアクションを自動的に実行することに同意する場合(試してみましたが、効果はありましたがfind
無視できるエラーメッセージが表示されます)、次のことを試してください。
find * -maxdepth 1 -type d -exec sh -c "tar rf /path/to/archive_name '{}' && rm -r '{}'" \;
(いつものように、最初にテストディレクトリ構造でこれを試して、好きなように動作することを確認できます!)
あなたのディレクトリにスペースがある場合に備えて引用しました{}
。フラットファイル構造がある場合-type d
。まず、アーカイブをさまざまな部分に分けてください。+
-exec
find
結局のところ、すべてのファイルはアーカイブに移動されます。遅いですができます。