かなり大きなディレクトリをバックアップする必要がありますが、個々のファイルのサイズによって制限があります。tar.(gz|bz2)
最大200 MBのサイズのアーカイブに分割されたアーカイブを作成したいと思います。 Clonezilla は、次のようにイメージのバックアップを分割して同様の操作を実行します。
sda1.backup.tar.gz.aa
sda1.backup.tar.gz.ab
sda1.backup.tar.gz.ac
1つのコマンドでこれを行う方法はありますか?コマンドの使い方を理解していますsplit
が、大規模なアーカイブを作成してからそれを小さなアーカイブに分割したくありません。なぜなら、最初にアーカイブを作成するのに必要なディスク容量が2倍になるからです。
ベストアンサー1
tarを分割コマンドにパイプできます。
tar cvzf - dir/ | split --bytes=200MB - sda1.backup.tar.gz.
一部の *nix システム (OS X など) では、次のエラーが表示される場合があります。
split: illegal option -- -
この場合は、以下を試してください(注-b 200m
)。
tar cvzf - dir/ | split -b 200m - sda1.backup.tar.gz.
FAT32形式のドライブに合わせてファイルを分割する場合は、バイト制限4294967295を使用してください。たとえば、
tar cvzf - /Applications/Install\ macOS\ Sierra.app/ | \
split -b 4294967295 - /Volumes/UNTITLED/install_macos_sierra.tgz.
ファイルを抽出するには、次のコマンドを使用します(@Naftuli Kayが述べたように)。
cat sda1.backup.tar.gz.* | tar xzvf -