Bash-script. Autodetect USB-sticka

Trädvy Permalänk
Medlem
Plats
Dalarna
Registrerad
Apr 2016

Bash-script. Autodetect USB-sticka

Hej (igen),
Jag skulle vilja använda mig av en USB-sticka för uppdateringar av en RPI i drift. Har googlat vilt och hittat följande:

$sudo vi /etc/udev/rules.d/85-my_usb_device_rule.rules

skriv:
ACTION=="add", SUBSYSTEM=="usb", SYSFS{idVendor}=="0bc2", SYSFS{idProduct}=="2100", RUN+="/home/myhome/my_script"

Nog så sött o detta bör jag nog få fason på MEN denna sträng kräver att specifik USB-sticka används. Jag hade ju helst bara velat ha en specifik LABEL som den känner av. Kan man bash:a så en USB med rätt Label kan kännas av och ett uppdat.script aktiveras på den?
Finns parametern SYSFS{Label} o så kan man skippa idVendor och idProduct?

Tack

Trädvy Permalänk
Medlem
Plats
Linköping
Registrerad
Jun 2007

Du skulle kanske kunna testa:

ACTION=="add", KERNEL=="sd?", SUBSYSTEM=="block", ENV{ID_BUS}=="usb", RUN+="/home/myhome/my_script"

En lagringsenhet hör till block-subsystemet, och ENV{ID_BUS} bör sen begränsa till usb-enheter.

Detta är för övrigt inget bash-script, utan en udev konfigurationsfil.

Trädvy Permalänk
Medlem
Plats
Dalarna
Registrerad
Apr 2016

Det låter ju helt ok. Det där scriptet "my_script" får sen helt enkelt kolla vad som stoppats i. Det funkar det också.

Trädvy Permalänk
Medlem
Plats
Dalarna
Registrerad
Apr 2016

@perost:
Det fungerade perfekt. På första försöket. Scriptet aktiverades och skrev i en log-fil. Nu återstår lite annat (roligt) bash:ande.
Tack!

Trädvy Permalänk
Medlem
Plats
Dalarna
Registrerad
Apr 2016

@perost:
Det funkade o och skriva i lite logg-filer på hårddisken men att utföra nåt med USB-minnet funkar inte eftersom den verkar vara i en monteringsfas och släpps fri först när scriptet är klart. En dirty workaround för en bash-novis är väl o göra ett cron som kollar om en viss fil har skrivits och när väl detta cron-script ser att det finns en fil så utför den nåt. Det är spagettiprogrammering o jag gillar inte det men resan är inte målet just nu.....målet är Resultat.
(Jag försökte montera USB:n i scriptet som anropas när minnet stoppas i men det blev lite invecklat. Kan för lite än...)

edit:
Fixade ett cron-job som detekterade en fil som skrevs varannan minut. Det scriptet som cron drog runt packade sedan upp en tar-fil från stickan till rätt ställen. Städade sen upp. Rebootade. Fungerar mkt bra.
Detta cron-jobb kan göra annat underhåll också...så det kanske inte är så illa pinkat ändå.