Uma regra do udev é a maneira mais simples de realizar isso. As regras do udev são armazenadas em /etc/udev/rules.d
e geralmente seguem o formato de NN-filename.rule
, em que NN
determina qual arquivo de regra é carregado primeiro.
Por exemplo, em /etc/udev/rules.d/10-local.rules
, a adição do seguinte acionará um evento toda vez que um dispositivo de bloco removível for anexado com um nome de kernel no formato sdX
:
KERNEL=="sd?", SUBSYSTEM=="block", ATTR{removable}=="1", RUN+="/path/to/script.sh"
Observe que isso pode iniciar seu script antes que o dispositivo seja montado, o que significa que você pode precisar montar o dispositivo manualmente.
Se você quiser combinar com regras diferentes, poderá descobrir os atributos de todos os eventos com os quais o dispositivo com o qual você está trabalhando causado por udevadm info -a /dev/devname
.