나는 Ubuntu OS를 실행하고 연중무휴로 실행되는 작은 서버를 가지고 있으며 네트워크에서 데이터를 검색하여 외부 USB 하드 드라이브에 복사하기 위해 하루에 한 번만 실행되는 스크립트를 가지고 있습니다. 이 데이터 복사본은 bash 스크립트를 통해 관리됩니다. 대략적으로 말하면 데이터 복제는 00:00에 시작하여 5:00에 끝납니다.
외부 USB 하드 드라이브가 오랫동안 유휴 상태이므로 데이터가 복사되기 몇 분 전에 시작하고 데이터가 복사된 후 몇 분 후에 bash 스크립트를 통해 직접 종료하려고 합니다.
주변을 둘러보며 주로 두 가지 해결책을 찾았지만 구별할 수 없습니다.
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
두 번째 옵션인 "자동 일시 중단"을 사용하면 운영 체제의 전원 관리에서 특정 시간 초과 또는 자동 작업에 대한 몇 가지 규칙을 사용하여 장치를 종료할지 여부를 결정할 수 있습니다. 다른 프로그램에서는 여전히 디스크를 사용할 수 있습니다.
첫 번째 옵션에서 "바인딩 해제"는 USB 케이블을 분리하는 것과 유사합니다. 옆에 있는 다른 스크립트가 디스크를 사용하고 있으면 문제가 발생할 수 있습니다. IMHO, "바인딩 해제/바인딩" 조합은 일부 USB 장치가 어떤 이유로든 더 이상 응답하지 않을 때(예: 자체적으로 꺼진 경우) 하드 리셋으로 더 적합합니다.
따라서 옵션 2가 귀하의 사용 사례에 더 적합하게 들립니다.