かなり大きなディレクトリをバックアップする必要がありますが、個々のファイルのサイズによって制限されます。基本的にtar.(gz|bz2)
を作成したい 最大200MBのアーカイブに分割されるアーカイブ。 Clonezillaは、次のような名前のイメージバックアップを分割することにより、これと同様のことを行います。
sda1.backup.tar.gz.aa
sda1.backup.tar.gz.ab
sda1.backup.tar.gz.ac
これを1つのコマンドで実行する方法はありますか? split
の使い方を理解しています コマンドですが、巨大なアーカイブを1つ作成してから、それを小さなアーカイブに分割する必要はありません。これにより、最初にアーカイブを作成するために必要なディスク容量が2倍になります。
承認された回答:
tarをsplitコマンドにパイプできます:
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 -