
故障したUSBサムドライブの内容をコピーしようとしています。データを読みすぎると、ドライブのコントローラチップが過熱し、ドライブがシステムから消えます。これが発生した場合は、ドライブを取り外して冷却するまで約1分待ってから再接続し、レプリケーションを再開する必要があります。
ドライブの内容の古いバックアップがあるため、残りのデータをインポートするための確実な方法は、更新されたrsync
バックアップを使用することです。ただし、これは「読み取りが速すぎてドライブが消えて再起動する必要がある」という問題を引き起こします。問題です。rsync
毎分Xメガバイトのデータをインポートするように指示する方法はありますか?または、ドライブが消えたときに一時停止し、再挿入時に再起動するように指示できますか?
答え1
DopeGhotiの経験とは異なり、この--bwlimit
フラグは私のrsync(v3.1.2)を介したデータ転送を制限しました。
テスト:
$ dd if=/dev/urandom bs=1M count=10 of=data
10+0 records in
10+0 records out
10485760 bytes (10 MB, 10 MiB) copied, 0.0871822 s, 120 MB/s
$ du -h data
10M data
$ time rsync -q data fast
0.065 seconds
$ time rsync -q --bwlimit=1M data slow
10.004 seconds
(注:私の出力はほとんどの呼び出し(関数)time
とは異なるようです。その時間は私が編集したものではありません。)time
zsh
それ以外の場合は-exec
double in find
。私信じるrsync -R
親フォルダを作成してコピーする必要がありますが、そうでない場合はcp --parents
コピーする必要があります。
$ find /failing/usb -exec rsync -R {} /somewhere/safe/ \; -exec sleep 1 \;
ノート:あなたも一度見てください救う、これはあなたが探しているものかもしれません:)
答え2
一種のMacGyverソリューションですが、過去に大きな成功を収めてきたソリューションは、
スティックとコンピュータの間に古いUSB 1ハブを配置することです。こんなに早くコピーするのは絶対に不可能です:-)
他の可能性:他の利用可能なスティックがある場合は、同じハブに接続されている別のUSBポートに接続します(問題のあるスティックと帯域幅を共有するように)。
次に、両方のスティックが帯域幅を離して競合するように、追加のスティックに一括書き込みを開始します。さらなる制御には、次のものを使用できます。イオアニス問題の優先順位を下げてください。
答え3
以下の説明によれば、実際にはデータの読み取り速度を制限することによって機能するように見えるファイル転送速度を制限するために使用できますrsync --bwlimit=RATE
。これはまさに欲しいものです。
答え4
rsync --bwlimit=100
100KiB/s以上のソリューションがあります。
フルディスクコピーオプションと一緒に
ddrescue
使用されます。--max-read-rate
また、エラーの発生後に中断した部分からディスク全体のコピーを再開できます。ddrescue --max-read-rate=100K /failing/usb output.img output.logfile
ddrescue
データ復旧に関連する他の多くのオプションがあります。ここのマニュアルを参照してください。
パイプ速度を制限するには、オプションまたはツール
pv
と一緒に(パイプビューア)を使用してください。進行状況を表示することもできます。パイプを使用するか、パイプを使用できるすべてのツールでこの機能を機能させることができます。--rate-limit
throttle
pv
tar -cf - /failing/usb | throttle -K 100 | tar -C /your/outputfolder/ -xvf -
または
tar -cf - /failing/usb | pv --rate-limit 100k | tar -C /your/outputfolder/ -xvf -
見てソーラーマニュアルページ設定と例の詳細をご覧ください。の場合は、速度の計算方法を決定するオプションを試すことも
throttle
できます。-w
スロットルのマニュアルページ。