状態:
ディレクトリを外部ハードドライブに再帰的にコピーしたいと思います。このディレクトリには多数のファイル(少なくとも100,000個)が含まれています。
質問:
外付けハードドライブは、私の作業と同じくらい(数時間使用)使用するとかなり熱くなる傾向があります。これは期待寿命には良くありません。だから時間が問題にならないので、コピー中にファイルコピーの間にしばらく休んでドライブの温度を少し冷やすことができたらと思います。
現在、私はionice -c3 nice nice cp -r
他のすべての実行ジョブのパフォーマンスの低下を最小限に抑えるためにこれを使用しています。しかし、冷却の問題は解決されません。
どんな提案がありますか?
他のコマンドを使用することもcp
可能rsync
ですが(コマンドラインに適用可能な場合)、これまで各ファイルのコピー間でx秒を待つことができるコマンドやオプションが見つかりませんでした。
追加情報: 外付けハードドライブは、データを他のコンピュータに転送する手段ではなく、データの最終目的地です。
ベストアンサー1
特にエレガントではありませんが、コピーコマンドを実行してから20分ごとに3分間一時停止するループを実行できます。
バックグラウンドでコピーコマンドを開始します。
cp -r /path/to/dir /path/to/external/drive &
このループを実行すると停止/再開されます。
while ps -p $! >/dev/null; do kill -SIGCONT $!; sleep 20m; kill -s SIGSTOP $!; sleep 3m; done