多くの小さなファイルをLTOテープに保存する

多くの小さなファイルをLTOテープに保存する

LTOテープをバックアップしています。私のバックアップには小さなファイルがたくさん含まれているため、ディスクから読み込む速度が遅くなります。テープの靴磨きを防ぐために、bufferコマンドを使用しています。

bkname="test"; tobk="*" 
totalsize=$(du -csb $tobk | tail -1 | cut -f1) 
tar cvf - $tobk | tee >(sha512sum > $bkname.sha512) >(tar -tv > $bkname.lst) | mbuffer -m 4G -P 100% | pv -s $totalsize -w 100 | dd of=/dev/nst0 bs=256k

このアプローチの問題は、tarコマンドがテープに直接アクセスしないため、テープ全体を認識しないため、複数のテープにわたってバックアップできないことです。

小さなファイルをバッファリングし、複数のテープバックアップを同時に実行する正しい方法は何ですか?

答え1

star代わりにGNUを試してくださいtar。このstarプログラムには、問題を解決するバッファリングツールが組み込まれています。

答え2

tarアーカイブのサイズは計算されたサイズではありません。飛行前に実行するだけで正しいサイズが得られますが、作業は倍増します。一例:

~# du -csb /usr | tail -1 | cut -f1
=> 1585916720

~# tar --totals -cf /dev/null /usr
=> 1656514560

私のアドバイス:darなどの強力なバックアップツールを使用してください。http://dar.linux.free.fr/

関連情報