私はUbuntu OSを実行し、年中無休で実行される小さなサーバーを持っており、ネットワークからデータを取得して外部USBハードドライブにコピーするために1日1回だけ実行されるスクリプトを持っています。このデータのコピーは bash スクリプトによって管理されます。大まかに言えば、データの複製は00:00に始まり、5:00に終了します。
外付けUSBハードドライブは長い間アイドル状態であるため、データがコピーされる数分前に起動し、データがコピーされてから数分後にbashスクリプトを介して直接シャットダウンしようとしています。
周りを見回して主に2つの解決策を見つけましたが、区別することはできません。
1.使用bind
/unbind
。
echo '1-2.2:1.0' > /sys/bus/usb/drivers/r8712u/bind # switch on
echo '1-2.2:1.0' > /sys/bus/usb/drivers/r8712u/unbind # switch off
2. autosuspend
、 を使用してください。この問題。
echo "0" > "/sys/bus/usb/devices/usbX/power/autosuspend_delay_ms"
echo "auto" > "/sys/bus/usb/devices/usbX/power/control"
違いは何ですか?私のユースケースに最適なものは何ですか?
お手伝いいただきありがとうございます。良い一日をお過ごしください。
ベストアンサー1
2番目のオプション「自動サスペンド」を使用すると、オペレーティングシステムの電源管理で、特定のタイムアウトまたは自動操作に関するいくつかの規則を使用してデバイスをシャットダウンするかどうかを決定できます。他のプログラムではまだディスクを使用できます。
最初のオプションでは、「アンバインド」はUSBケーブルの取り外しと似ています。横にある他のスクリプトがディスクを使用している場合は、問題が発生する可能性があります。 IMHO、「バインド解除/バインディング」の組み合わせは、一部のUSBデバイスが何らかの理由で応答しなくなった場合(たとえば、それ自体がオフになった場合)、ハードリセットに適しています。
したがって、オプション2はあなたのユースケースに適しています。