Linux
 Computer >> コンピューター >  >> スマートフォン >> Linux

Linuxで大容量ファイルを分割tarファイルにする方法【作成・結合の手順を解説】

Linux環境で大容量のバックアップファイルをオンラインストレージに保存したり、他の人と共有したりする際、1ファイルあたりのサイズ上限に悩まされることがあります。この記事では、tarコマンドとsplitコマンドを組み合わせて、大きなファイルを100MB単位の複数ファイルに分割する方法と、それらを元の状態に復元する方法を解説します。

マルチパートtarファイルが必要になるケース

バックアップや大量のファイルをクラウドストレージにアップロードしたい場合、サービスによっては1ファイルあたり100MBなど、サイズ制限が設けられていることが少なくありません。筆者自身も、オンライン上にバックアップを保存しようとした際、利用していたストレージサービスが「1ファイル100MBまで」という上限を設けていたため、この方法を活用することになりました。

今回紹介する手法を使えば、約1GBのバックアップを100MBずつ10個のファイルに分割し、ファイル名に連番を付けながら保存できます。

分割tarファイルの作成手順

ここでは例として、約1GBのバックアップファイル「dbbackup.db」を100MBごとのファイルに分割します。実行するコマンドは以下の通りです。

# tar -cf - dbbackup.db | split -b 100m - db_backup.tar

コマンドの構成

  • tar -cf - dbbackup.db:対象ファイル「dbbackup.db」をtarアーカイブとして標準出力(ハイフン「-」)に出力します。
  • |(パイプ):前のコマンドの出力を、次のコマンドの入力へそのまま渡します。
  • split -b 100m - db_backup.tar:標準入力から受け取ったデータを100MBごとに分割し、「db_backup.tar」を接頭辞とするファイルとして書き出します。

この処理はファイルサイズによっては完了までに時間がかかります。実行が終わると、「db_backup.taraa」「db_backup.tarab」「db_backup.tarac」…といったように、末尾に「aa」「ab」「ac」という連番が付いた100MBずつのファイルが10個生成されます。

これで、分割済みのファイルを外付けストレージにコピーしたり、転送サービスで送ったりするのが格段に楽になります。

分割ファイルを元に戻す方法

分割されたtarファイル群から、元の1GBのファイルを復元するのは非常に簡単です。以下のコマンドを1行実行するだけです。

# cat db_backup.tara* | (tar x)

catコマンドがすべての分割ファイル(taraa以降)を名前順に正しく連結し、そのデータをtarコマンドへ渡して展開します。これで元のファイルが完全に復元され、最初の状態に戻ります。

補足:より扱いやすくするテクニック

アーカイブを展開せず、単に1つのファイルとして結合したい場合は、「cat db_backup.tara* > dbbackup.db」のようにリダイレクトを使う方法もあります。また、splitコマンドに「-d」オプションを付けると、接尾辞が数字(00、01、02…)になり、ファイルの並び順がひと目で分かりやすくなるのでおすすめです。

  1. LinuxでZsyncを使ってファイルの差分だけをダウンロード・更新する方法

    ISOイメージのような大容量ファイルのダウンロードは、本当にストレスがたまる作業です。インターネット回線の速度によってはダウンロードに長時間かかり、ハードディスクの容量も大量に消費します。さらに厄介なのは、更新版が必要になったときに、同じダウンロード作業を最初からやり直さなければならない点です。 しかし、そんな悩みを解決してくれるツールがあります。それがZsyncです。ZsyncはLinux向けのファイル同期ツールで、ファイル全体を再ダウンロードすることなく、変更された部分だけを更新できるのが最大の特徴です。 Zsyncは、ファイルやディレクトリの同期でおなじみの人気ツールrsyncをベース

  2. Windowsで.tar.gzファイルを展開する3つの方法【7-Zip・オンライン・WinRAR】

    TAR(Tape Archive)ファイルは、Unix系システムのユーティリティ「tar」によって作成されるアーカイブ形式です。複数のファイルをひとつにまとめてパッケージ化し、配布やバックアップの目的で広く利用されています。TARファイル自体は非圧縮形式ですが、実際にはGNU zip(gzip)圧縮を組み合わせた「.tar.gz」形式で目にすることがほとんどです。gzip圧縮によってアーカイブのサイズが縮小され、ディスク容量の節約が可能になります。本記事では、Windows環境で.tar.gzファイルを展開する代表的な3つの方法を、手順付きでわかりやすくご紹介します。7-Zipを使って.tar