GNU/Linux >> Tutoriels Linux >  >> Linux

Comment déclencher un événement dans le script Shell lorsqu'un périphérique USB est supprimé ?

Je dois effectuer certaines actions lorsqu'un périphérique USB spécifique est supprimé/ajouté. J'ai besoin d'une réponse rapide de l'ordre de quelques millisecondes.

Comment puis-je faire cela dans un script shell ?

Réponse acceptée :

En supposant que vous utilisez une distribution Linux avec prise en charge d'udev et que vous disposez d'un accès root/administrateur, vous pouvez utiliser les règles udev pour déclencher des opérations spécifiques.

Si l'exemple suivant est ajouté à un /etc/udev/rules.d/example.rules puis il exécutera le script spécifié lorsqu'un périphérique bloc est ajouté avec les paramètres spécifiés.

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

Cette règle particulière s'exécute lorsque mon disque dur USB est inséré et attaché au système de blocs. Il est assez facile de modifier les règles pour qu'elles correspondent à un événement USB de bas niveau spécifique.

J'ai trouvé la page wiki Debian UDEV et le site Writing Udev Rules très utiles pour obtenir les bonnes règles pour ma situation.


Linux
  1. Comment gérer les commutateurs dans un script shell ?

  2. Comment créer un fichier temporaire en script shell ?

  3. Comment configurer le propriétaire/groupe du fichier de périphérique avec les règles udev

  4. Comment exécuter un script shell au démarrage

  5. Utilisation des règles udev pour exécuter un script sur l'insertion USB

Comment utiliser des variables dans les scripts Shell

Comment créer des scripts shell

Comment stocker une commande Linux en tant que variable dans un script shell

Comment exécuter un script Shell en tant que service SystemD sous Linux

Comment afficher une notification lorsqu'un périphérique USB est inséré ?

Comment exécuter une commande dans un script shell ?