Beim Einstecken des USB Sticks Programm ausführen

mo_no

mo_no

Linux User seit 2.0.35
Hallo,
beim Einstecken eines bestimmten USB Sticks soll ein Programm ausgefürt werden.
Ich denke, dass sich das sehr schön mit udev lösen lässt.

Hier die Ausgabe von udevinfo -a -p /block/sdb/sdb1:
Code:
[...]
device '/sys/block/sdb/sdb1' has major:minor 8:17
  looking at class device '/sys/block/sdb/sdb1':
    SUBSYSTEM=="block"
    SYSFS{dev}=="8:17"
    SYSFS{size}=="255950"
    SYSFS{start}=="50"
    SYSFS{stat}=="     166      332        0        0"

follow the "device"-link to the physical device:
  looking at the device chain at '/sys/devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8:1.0/host4/target4:0:0/4:0:0:0':
    BUS=="scsi"
    ID=="4:0:0:0"
    DRIVER=="sd"
    SYSFS{device_blocked}=="0"
    SYSFS{iocounterbits}=="32"
    SYSFS{iodone_cnt}=="0x2d"
    SYSFS{ioerr_cnt}=="0x4"
    SYSFS{iorequest_cnt}=="0x2d"
    SYSFS{max_sectors}=="240"
    [U]SYSFS{model}=="USB DRIVE       "[/U]
    SYSFS{queue_depth}=="1"
    SYSFS{queue_type}=="none"
    SYSFS{rev}=="2.00"
    SYSFS{scsi_level}=="3"
    SYSFS{state}=="running"
    SYSFS{timeout}=="30"
    SYSFS{type}=="0"
    [U]SYSFS{vendor}=="       "[/U]
[...]

Und hier die Regel, die ich erstellt in /etc/udev/rules.d/udev.rules erstellt habe:
Code:
KERNEL=="sdb*", SYSFS{vendor}=="        ", SYSFS{model}=="USB DRIVE       ", PROGRAM="/usr/local/bin/mount_stick"

Allerdings wird das Script nicht ausgeführt.

Weiß jemand Rat?
 
Hi mo_no,
do musst noch den BUS und den Namen angeben:
Code:
BUS="scsi", KERNEL=="sdb*", SYSFS{vendor}=="        ",SYSFS{model}=="USB DRIVE       ", NAME{all_partitions}="stick/usb"
Damit wird jetzt unter /dev ein Ordner Namens "stick" mit den Gerätedatein usb - usb16 erstellt, über die du den Srick mounten kannst.
Das Script das ausgeführt werden soll muss unter:
Code:
/dev/dev.d/usb/*.dev
liegen.
Jetzt kannst du dort eine Datei Names usb.dev anlgen und z.B. folgendes reinschreiben:
Code:
#!/bin/sh
if [ $ACTION = "add" ];
   then
   # usb-stick einhängen
   mount /dev/stick/usb1 -t xxx  /mnt/usb1
fi;

if [ $ACTION = "remove" ];
   then
   # usb-stick aushängen
   umount /mnt/usb1
fi

Hoffe ich konnte dir helfen.

dsiggi
 

Ähnliche Themen

SSD auf einen (geringfügig) kleineren USB-Stick wiederherstellen

xrandr: cant open display

Software RAID 1 verkleinern

Wo sind die Geräte?

USB Fehler bei aufwachender Platte

Zurück
Oben