pv -qL でパイプを絞ることができます (または cstream -t 同様の機能を提供します)
tar -cf - . | pv -q -L 8192 | tar -C /your/usb -xvf -
-q stderr 進行状況レポートを削除します。
-L 制限はバイト単位です。
--rate-limit/-L についての詳細 man pv のフラグ :
-L RATE, --rate-limit RATE
Limit the transfer to a maximum of RATE bytes per second.
A suffix of "k", "m", "g", or "t" can be added to denote
kilobytes (*1024), megabytes, and so on.
この回答はもともと throttle を指していました しかし、そのプロジェクトは利用できなくなったため、一部のパッケージシステムから抜け出しました。
cp -a /foo /bar の代わりに rsync も使用できます 必要に応じて帯域幅を制限してください。
rsync から のマニュアル:
--bwlimit=KBPSI/O 帯域幅を制限します。キロバイト/秒
したがって、進行状況も示す実際のコマンドは次のようになります。
rsync -av --bwlimit=100 --progress /foo /bar
他の活動を妨害しないように努めていると思います。 Linux の最近のバージョンには ionice が含まれています これにより、IO のスケジューリングを制御できます。
さまざまな優先度を許可するだけでなく、ディスクがアイドル状態のときに IO を制限する追加のオプションがあります。コマンド man ionice ドキュメントを表示します。
次のようなコマンドを使用してファイルをコピーしてみてください:
ionice -c 3 cp largefile /new/directory
2 つのディレクトリが同じデバイス上にある場合は、ファイルをリンクすると目的が達成されることがあります。バックアップ目的でコピーする場合は、このオプションを使用しないでください。 ln ファイル自体がコピーされないため、非常に高速です。試してみてください:
ln largefile /new/directory
または、別のデバイスのディレクトリからアクセスしたいだけの場合は、次を試してください:
ln -s largefile /new/directory