एक स्टोरेज डिवाइस block
सबसिस्टम में है, इसलिए आप SUBSYSTEM=="block"
इस तरह से अपने नियम में चाहेंगे:
ACTION=="add", KERNEL=="sd?", SUBSYSTEM=="block", ENV{ID_BUS}=="usb", \
RUN+="/path/to/script"
यदि आप उपयोग कर रहे हैं systemd
, तो आप systemd
हर बार एक यूएसबी स्टोरेज डिवाइस को जोड़ने पर एक यूनिट चला सकते हैं । इकाई फ़ाइल बनाएँ, जैसे /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
(जो बदले में आपकी स्क्रिप्ट को निष्पादित करेगा) किसी भी यूएसबी स्टोरेज डिवाइस ऐड इवेंट पर।
नियमों / इकाइयों को संपादित करने के बाद कॉन्फ़िगरेशन पुनः लोड करना न भूलें:
udevadm control --reload
systemctl daemon-reload