考えてみれば tar コマンドは 18 年くらい使い続けているコマンドです。
tar のマルチボリュームオプションを始めて使ってみました。
単に DVD に入りきらないデータがあり、2 枚に分割しただけなのですが、
あらためて tar は便利だなぁと思いました 😉
例えば 1MB のファイル data? が 5 つある場合に 2M づつに分割したい時には以下のように行います。
以下のように 1MB のファイルdata1~data5があります。
$ ls -l data? -rw-r--r-- 1 user group 1048576 3月 22 00:29 data1 -rw-r--r-- 1 user group 1048576 3月 22 00:30 data2 -rw-r--r-- 1 user group 1048576 3月 22 00:30 data3 -rw-r--r-- 1 user group 1048576 3月 22 00:30 data4 -rw-r--r-- 1 user group 1048576 3月 22 00:30 data5 |
-M オプションと –tape-length オプションで out1.tar, out2.tar, out3.tar
の 3 ファイルへ出力します。
2048 は 2048KB です。
$ tar -cv -M --tape-length=2048 -f out1.tar -f out2.tar -f out3.tar |
するとサイズが 2M 以内になった 3 つのファイルが生成されます。
$ ls -l *.tar -rw-r--r-- 1 user group 2099200 3月 22 00:33 out1.tar -rw-r--r-- 1 user group 2099200 3月 22 00:33 out2.tar -rw-r--r-- 1 user group 1054720 3月 22 00:33 out3.tar |
元にリストアする場合は以下のように行います。
$ tar xvM -f out1.tar ./data1 ./data2 ./data3 ボリューム #2 (`out1.tar') を準備します. リターンキーを押してください: n out2.tar ボリューム #2 (`out2.tar') を準備します. リターンキーを押してください: ./data4 ./data5 ボリューム #3 (`out2.tar') を準備します. リターンキーを押してください: n out3.tar ボリューム #3 (`out3.tar') を準備します. リターンキーを押してください: $ ls -l -rw-r--r-- 1 user group 1048576 3月 22 00:29 data1 -rw-r--r-- 1 user group 1048576 3月 22 00:30 data2 -rw-r--r-- 1 user group 1048576 3月 22 00:30 data3 -rw-r--r-- 1 user group 1048576 3月 22 00:30 data4 -rw-r--r-- 1 user group 1048576 3月 22 00:30 data5 |