Un périphérique de stockage est dans le block
sous - système, vous voudrez donc SUBSYSTEM=="block"
dans votre règle, comme ceci:
ACTION=="add", KERNEL=="sd?", SUBSYSTEM=="block", ENV{ID_BUS}=="usb", \
RUN+="/path/to/script"
Si vous utilisez systemd
, vous pouvez exécuter une systemd
unité chaque fois qu'un périphérique de stockage USB est ajouté. Créez le fichier d'unité, par exemple /etc/systemd/system/my-usb-rule.service
:
[Service]
Type=oneshot
ExecStart=/path/to/script
et la règle, par exemple /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"
Maintenant udev
, déclenchera my-usb-rule.service
(qui à son tour exécutera votre script) sur tout événement d' ajout de périphérique de stockage USB .
N'oubliez pas de recharger la configuration après avoir édité les règles / unités:
udevadm control --reload
systemctl daemon-reload