Запам'ятовуючий пристрій знаходиться в block
підсистемі, тому вам потрібно SUBSYSTEM=="block"
, як правило, таке правило:
ACTION=="add", KERNEL=="sd?", SUBSYSTEM=="block", ENV{ID_BUS}=="usb", \
RUN+="/path/to/script"
Якщо ви користуєтесь systemd
, ви можете запускати systemd
пристрій щоразу, коли додається USB-накопичувач. Створіть файл одиниці, наприклад /etc/systemd/system/my-usb-rule.service
:
[Service]
Type=oneshot
ExecStart=/path/to/script
і правило, наприклад /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"
Тепер udev
спрацьовує my-usb-rule.service
(що в свою чергу буде виконувати скрипт) на будь-якому пристрої зберігання USB надбудовою події.
Не забудьте перезавантажити конфігурацію після редагування правил / одиниць:
udevadm control --reload
systemctl daemon-reload