GNU/Linux >> Znalost Linux >  >> Linux

Jak spustit událost ve skriptu Shell, když je odebráno zařízení USB?

Potřebuji provést nějaké akce, když je odebráno/přidáno konkrétní USB zařízení. Potřebuji rychlou odezvu v řádu milisekund.

Jak to mohu provést ve skriptu shellu?

Přijatá odpověď:

Za předpokladu, že používáte distribuci Linuxu s podporou udev a máte k ní přístup root/administrátor, můžete použít pravidla udev ke spouštění konkrétních operací.

Pokud je následující příklad přidán do /etc/udev/rules.d/example.rules poté spustí zadaný skript, když je přidáno blokové zařízení se zadanými parametry.

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

Toto konkrétní pravidlo se spustí, když je můj pevný disk USB vložen a připojen k systému bloků. Je docela snadné upravit pravidla tak, aby odpovídala konkrétní události USB na nízké úrovni.

Zjistil jsem, že wiki stránka Debian UDEV a stránka Writing Udev Rules jsou velmi užitečné pro získání správných pravidel pro mou situaci.


Linux
  1. Jak zacházet s přepínači ve skriptu Shell?

  2. Jak spustit skript v prostředí Shell, když je stisknuta klávesová zkratka?

  3. Jak spustit shellscript, když připojím USB zařízení

  1. Jak vytvořit dočasný soubor ve skriptu Shell?

  2. Jak nakonfigurovat vlastníka/skupinu souboru zařízení pomocí pravidel udev

  3. Jak spustit skript při připojení nebo odpojení zařízení USB pomocí UDEV

  1. Jak spustit skript shellu, když se změní soubor nebo adresář?

  2. Jak spustit skript shellu při spuštění

  3. Použití pravidel udev ke spuštění skriptu při vložení USB