Quiero ejecutar un script cuando conecto un dispositivo en mi máquina Linux. Por ejemplo, ejecute con xinputel mouse o un script de respaldo en una determinada unidad.
He visto muchos artículos sobre esto, más recientemente aquí y aquí . Pero simplemente no puedo hacer que funcione.
Aquí hay algunos ejemplos simples que intentan obtener al menos algún tipo de respuesta.
/etc/udev/rules.d/test.rules
#KERNEL=="sd*", ATTRS{vendor}=="*", ATTRS{model}=="*", ATTRS{serial}=="*", RUN+="/usr/local/bin/test.sh"
#KERNEL=="sd*", ACTION=="add", "SUBSYSTEM=="usb", ATTRS{model}=="My Book 1140 ", ATTRS{serial}=="0841752394756103457194857249", RUN+="/usr/local/bin/test.sh"
#ACTION=="add", "SUBSYSTEM=="usb", RUN+="/usr/local/bin/test.sh"
#KERNEL=="sd*", ACTION=={add}, RUN+="/usr/local/bin/test.sh"
KERNEL=="sd*", RUN+="/usr/local/bin/test.sh"
KERNEL=="*", RUN+="/usr/local/bin/test.sh"
/usr/local/bin/test.sh
#!/usr/bin/env bash
echo touched >> /var/log/test.log
if [ "${ACTION}" = "add" ] && [ -f "${DEVICE}" ]
then
echo ${DEVICE} >> /var/log/test.log
fi
La carpeta de reglas es vigilada por inotifyy debe estar activa de inmediato. Sigo desconectando mi teclado, mouse, tableta, tarjeta de memoria y unidad USB, pero nada. Ningún archivo de registro tocado.
Ahora, ¿cuál sería la forma más simple de al menos saber que algo está funcionando? Es más fácil trabajar desde algo que funciona que desde algo que no funciona.
3.5.0-23-generic.
udevadm triggero conectó un dispositivo para aplicar la nueva regla?