Một thiết bị lưu trữ nằm trong block
hệ thống con, vì vậy bạn sẽ muốn SUBSYSTEM=="block"
theo quy tắc của mình, như thế này:
ACTION=="add", KERNEL=="sd?", SUBSYSTEM=="block", ENV{ID_BUS}=="usb", \
RUN+="/path/to/script"
Nếu bạn đang sử dụng systemd
, bạn có thể chạy một systemd
thiết bị mỗi lần thiết bị lưu trữ USB được thêm vào. Tạo tệp đơn vị, ví dụ /etc/systemd/system/my-usb-rule.service
:
[Service]
Type=oneshot
ExecStart=/path/to/script
và quy tắc, ví dụ /etc/udev/rules.d/85-my-usb-rule.rules
:
ACTION=="add", KERNEL=="sd?", SUBSYSTEM=="block", ENV{ID_BUS}=="usb", \
ENV{SYSTEMD_WANTS}="my-usb-rule.service"
Bây giờ udev
sẽ kích hoạt my-usb-rule.service
(lần lượt sẽ thực thi tập lệnh của bạn) trên bất kỳ sự kiện thêm thiết bị lưu trữ usb nào .
Đừng quên tải lại cấu hình sau khi bạn chỉnh sửa các quy tắc / đơn vị:
udevadm control --reload
systemctl daemon-reload