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/