Você pode lançar um script usando UDEV
. "O udev também lida com todos os eventos de espaço do usuário gerados, enquanto dispositivos de hardware são adicionados ou removidos do sistema" (De link )
Dentro de um arquivo chamado: /etc/udev/rules.d/10-usb.rules
adicione o seguinte:
KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", RUN+="/path/to/script.sh"
Observação: você pode precisar ajustar um pouco o local do arquivo, dependendo de sua distribuição. Nota: você pode precisar reiniciar antes que a regra entre em vigor.