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=KBPS
I/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