USB 3.0 외장 하드 드라이브를 홈 서버에 연결할 때 backup.sh 스크립트를 실행하기 위해 사용자 정의 udev 규칙을 작성하려고 합니다.
/etc/udev/rules.d
.라는 새 파일에 새 파일을 만들었 습니다 10-custom.rules
. 이 폴더에는 70-persistent-cd.rules
, 60-vboxdrv.rules
및 70-persistent-net.rules
.
다음은 내가 파일에 쓴 내용입니다(모두 한 줄로).
BUS="usb", SYSFS{idVendor}="1058", SYSFS{product}="Western Digital Technologies, Inc.", NAME="gioviusb", RUN+="/home/scripts/usbplug.sh"
이것은 다음의 출력입니다 lsusb
.
Bus 006 Device 011: ID 1058:0748 Western Digital Technologies, Inc.
내가 찾은 다른 모든 솔루션은 오래된 것 같습니다. 저는 Debian 7 Wheeze를 실행하고 있습니다.
답변1
문제가 해결되었습니다. udev
syslog에 로그인하기 위해 다음 명령을 실행합니다 . udevadm control --log-priority=info
syslog를 자세히 살펴본 후 다음 오류를 발견했습니다.
Jun 10 10:33:16 GC01SRVR udevd[4707]: failed to execute '/home/scripts/usbplug.sh' '/home/scripts/usbplug.sh': Exec format error
스크립트의 첫 번째 줄에 다음 텍스트를 추가하여 /home/scripts/usbplug.sh
이 문제를 해결했습니다 .
#!/bin/sh