GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo activar un evento en el script de Shell cuando se quita un dispositivo USB?

Necesito hacer algunas acciones cuando se quita/agrega un dispositivo USB específico. Necesito una respuesta rápida del orden de milisegundos.

¿Cómo puedo hacer esto en un script de shell?

Respuesta aceptada:

Suponiendo que está utilizando una distribución de Linux compatible con udev y tiene acceso de root/administrador, entonces puede usar las reglas de udev para activar operaciones específicas.

Si el siguiente ejemplo se agrega a un /etc/udev/rules.d/example.rules luego ejecutará el script especificado cuando se agregue un dispositivo de bloque con los parámetros especificados.

ACTION=="add", SUBSYSTEM=="block", ATTRS{manufacturer}=="HitachiGST", ATTRS{serial}=="31001206110000000000", RUN+="/a/script/to/run.sh"

Esa regla en particular se ejecuta cuando se inserta mi disco duro USB y se conecta al sistema de bloques. Es bastante fácil modificar las reglas para que coincidan con un evento USB de bajo nivel específico.

Descubrí que la página wiki de Debian UDEV y el sitio de escritura de reglas de Udev son muy útiles para obtener las reglas correctas para mi situación.


Linux
  1. ¿Cómo crear un archivo temporal en Shell Script?

  2. Cómo configurar el propietario/grupo del archivo del dispositivo con reglas udev

  3. Cómo ejecutar un script cuando se conectan o eliminan dispositivos USB mediante UDEV

  4. Uso de reglas udev para ejecutar un script en la inserción USB

  5. Cómo ejecutar un shellscript cuando conecto un dispositivo USB

Cómo usar variables en secuencias de comandos de Shell

Cómo crear scripts de shell

Cómo almacenar un comando de Linux como una variable en el script de Shell

Cómo ejecutar Shell Script como servicio SystemD en Linux

¿Cómo mostrar una notificación cuando se inserta un dispositivo USB?

¿Cómo ejecutar un comando en un script de Shell?