Ein Speichergerät befindet sich im blockSubsystem, daher sollten Sie SUBSYSTEM=="block"in Ihrer Regel Folgendes festlegen:
ACTION=="add", KERNEL=="sd?", SUBSYSTEM=="block", ENV{ID_BUS}=="usb", \
RUN+="/path/to/script"
Wenn Sie verwenden systemd, können Sie systemdjedes Mal ein Gerät ausführen , wenn ein USB-Speichergerät hinzugefügt wird. Erstellen Sie die Einheitendatei, z /etc/systemd/system/my-usb-rule.service.
[Service]
Type=oneshot
ExecStart=/path/to/script
und die Regel, zB /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"
Jetzt udevwird my-usb-rule.serviceauf jedem USB-Speichergerät ein Add- Ereignis ausgelöst (das wiederum Ihr Skript ausführt) .
Vergessen Sie nicht, die Konfiguration neu zu laden, nachdem Sie die Regeln / Einheiten bearbeitet haben:
udevadm control --reload
systemctl daemon-reload