GNU/Linux >> Linux の 問題 >  >> Linux

最大サイズのブロックに分割されたtarアーカイブを作成しますか?

かなり大きなディレクトリをバックアップする必要がありますが、個々のファイルのサイズによって制限されます。基本的に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 -

Linux
  1. 複数のファイルを.xzアーカイブに圧縮する方法は?

  2. tar エラー:アーカイブに予期しない EOF があります

  3. Mac 上のディレクトリの Linux 互換 zip アーカイブを作成する方法

  1. 隠しファイルを除いて、ディレクトリのtarアーカイブを作成しますか?

  2. 複数のファイルに分割された、または複数のファイルにまたがる tar アーカイブを作成する方法は?

  3. アーカイブのサイズを縮小しながらファイルを解凍しますか?

  1. 出力を新しい行に分割しますか?

  2. アーカイブを作成および抽出するためのLinuxでの10のtarコマンドの例

  3. Linuxtarコマンド