Wenn ein USB-Stick eingesteckt wird, soll ein Skript ausgeführt werden.

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Guten Tag,

    Ich würde gerne das mein Pi 3 ein Skript ausführt sobald ich ein USB Stick einstecke, dieses soll dann .txt Dateien von dem Stick auslesen.

    Mein Problem lieg daran das ich weder mit diesem Thread: USB automount, noch mit diesem udev rule, weitergekommen bin.

    Eine rules Datei habe ich angelegt:

    Spoiler anzeigen
    Code
    ACTION=="add", SUBSYSTEMS=="usb", KERNEL=="sd*[0-9]", RUN+="/bin/bash /bin/usbmount.sh mount /dev/%k"
    
    ACTION=="remove", SUBSYSTEMS=="usb", KERNEL=="sd*[0-9]", RUN+="/bin/bash /bin/usbmount.sh umount /dev/%k"

    Und ausgeführt habe ich sie mit:

    Code
    sudo udevadm control --reload-rules
    
    # Anzeige mit ls -l
    
    -rw-r--r-- 1 root root 209 Dez 26 15:32 10-usbautomount.rules

    Und mein Skript sieht so aus:

    Spoiler anzeigen

    Ausführbar gemacht hab ich es durch:

    Code
    sudo chmod o+x usbmount.sh

    Angeschaut habe ich mir auch den Thread hier: Auch ein Automount.

    Wie man sieht kann mein Skript noch keine Dateien auslesen, aber nicht mal die 'echo' Ausgabe kommt an, noch wird die log.txt Datei erstellt.

    Ich komme irgendwie nicht weiter, und das Problem ist ich habe kein Plan warum? :conf:

    Kann mir jemand helfen,

    ...habe ich etwas vergessen?

    ...ist etwas falsch?

    ...ist es nicht möglich? (Wobei ich YT-Videos gesehen habe bei denen es geklappt hat)


    Gruß AsgardPi

    :danke_ATDE:

  • Wenn ein USB-Stick eingesteckt wird, soll ein Skript ausgeführt werden.? Schau mal ob du hier fündig wirst!

  • Ich habe mir hierbei so beholfen: In einem Script, welches jede Minute von Crontab gestartet wird, wird geprüft, ob der USB-Stick gemountet wurde, und dann wird ein anderes Script aufgerufen und anschliessend der Stick wieder geunmountet. NAchteil: Nach dem Einstecken kann bis zu einer Minute vergehen, bis was passiert.

  • So, guten Abend Leute,

    nach dem Urlaub und der ersten halben Woche Arbeit bin ich mal wider hier.

    Danke, den Link hatte ich auch als erstes gefunden, das hat aber alles nicht funktioniert. :(

    Ich weiß nicht wie es daran liegt, aber wenn ich ein älteres Image auf den Pi spiele funktionieren die angaben in dem Thread, sobald ich Update läuft es wieder nicht.

    ABER egal xD "Never Change A Running System"

    Also einfach nicht Updaten und es geht.

  • Meines Erachtens wird das so nicht funktionieren, weil im Script...

    /bin/mount $DEVICE $MountTo

    ...der Filesystemtyp fehlt, damit der entsprechende Mounthelper ausgewählt wird. Das mag im Vordergrund noch ohne Angabe gehen, aber ich denke, auf der tieferen Ebene von UDEV nicht mehr. Ohne Angabe funktioniert das imho nur bei iso9660-FS. Außerdem würde ich kontrollieren, ob das Script überhaupt gestartet wird, um einen Fehler auf dieser Ebene auszuschließen.

    Füge dazu unter der ersten Zeile im Script dieses Statement ein, mit der ein Logeintrag beim Start des Scripts erzeugt wird.

    Code
    /bin/echo "active/running P1=$1   P2=$2" | systemd-cat -t "thlu:`basename $0`" -p "info"

    Dann starte im Terminal

    Code
    journalctl -f

    und stecke erst danach den Stick ein. Wenn das Script gestartet wird, siehst Du diesen Logeintrag und vielleicht auch Fehlermeldungen.

  • Automount mountet doch nur, oder nicht ??

    ;) Gruß Outi :D
    Pis: 2x Pi B (Rente) / 1x Pi B+ (Rente) / 1x Pi 2 B (Rente) / 2x Pi 3 B (RaspberryMatic / Repetier Server) / 2x Pi Zero 1.2 (B. Lite) / 2x Pi Zero 1.3 (B. Lite) / 2x Pi Zero W 1.1 (B. Lite) / 1x Pi Zero 2 (mal so, mal so) / 1x Pi 3 B+ (Tests) / 1x Pi 4 B 4GB (BW Lite (Webserver)) / Pi 400 (BW) / 1x Pi 5 (BW) / 2x Pi Pico / 2x Pi Pico W
    Platinen: Sense HAT / HM-MOD-RPI-PCB / RPI-RF-MOD / PiFi DAC+ V2.0 / TV HAT / Pi 5 Kühler HAT
    Kameras: orig. Raspberry Pi Camera Module V1 & V3 / PS3 Eye

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!