.titleBar { margin-bottom: 5px!important; }

Skript für immer gleiche Mountpoints (auch nach Verlust des Mounts)

Dieses Thema im Forum "Freetz" wurde erstellt von henfri, 13 Dez. 2008.

  1. henfri

    henfri Mitglied

    Registriert seit:
    21 Sep. 2005
    Beiträge:
    422
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Hallo,

    wie viele habe ich das Problem, dass die FB manchmal die Verbindung zur USB-Platte verliert. Danach ist dann z.B. uStor05 unter uStor15 zu finden.
    Das ist natürlich nicht toll, wenn man die Daten von uStor05 als Samba/NFS/FTP bereitstellen möchte.

    Deshalb nutze ich folgendes Autrorun.sh Skript auf jeder Partition:
    Code:
    #!/bin/sh
    log=log_automount.txt
    date > $log
    mount >> $log
    echo --------------found---------------- >> $log
    #folgende Zeilen anpassen (die 5 ggf ersetzen):
    mount |grep 5 | tail -n1 >> $log
    mountpoint=`mount |grep -E 'uStor05|uStor15' | tail -n1 | cut -d " " -f 3`
    
    echo mountpoint is $mountpoint >> $log
    ln -s -f $mountpoint 
    
    Damit wird diese Partition immer als ext_5 bereitgestellt.

    Das Skript könnte man sicher noch verallgemeinern, so dass die '5' nur einmal angepasst werden muss. Soviele Partitionen hab ich aber garnicht, deshalb war es mir die Arbeit nicht wert ;-)

    Das ganze läuft jetzt schon eine ganze weile zuverlässig hier.

    Gruß,
    Hendrik
     
  2. matze1985

    matze1985 Aktives Mitglied

    Registriert seit:
    17 Feb. 2007
    Beiträge:
    1,537
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hey Henfri,

    hübsches Script, ich habe mir mal vor langer langer Zeit mal etwas allgemeinere Variante gebaut.

    Code:
    #!/bin/sh
    pfad=$(echo "$0" | sed "s/\/autorun.sh//")
    mount | grep "/var/media/ftp/disk" >> /dev/null
    mounted=$?
    if [ "$mounted" ]
    	then umount "/var/media/ftp/disk/"
    fi
    mkdir /var/media/ftp/disk/
    echo "disk  -   $(date)" >> /tmp/mounttimes
    mount -o bind $pfad /var/media/ftp/disk/
    
    
    Das ganze kann man natürlich auch über links machen, wie du
    Code:
    #!/bin/sh
    pfad=$(echo "$0" | sed "s/\/autorun.sh//")
    echo "disk  -   $(date)" >> /tmp/mounttimes
    ln -s -f $pfad /var/media/ftp/disk/
    
    Es muss nur für jede Partition der Name (bei mir disk) angepasst werden. Habe das script erfolgreich seit mit mehreren Platten gleichzeitig im Einsatz.

    Bei dem mount-script wird zwar ein mount -o bind benutzt, aber die Platte direkt unter dem Divice gemounted, nicht über den bind.

    Matze
     
  3. officiallyme

    officiallyme Mitglied

    Registriert seit:
    14 Sep. 2008
    Beiträge:
    259
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #3 officiallyme, 30 Dez. 2008
    Zuletzt bearbeitet: 30 Dez. 2008
    Darf ich kurz fragen:

    Ich muss dafür beim freetz erstellen das Autorun bei den packeten installieren und dann einfach eine datei namens "autorun.sh" ins rootverzeichnis des sticks, der platte legen?

    hmm. klappt irgendwie nicht. muss ich autorun erst irgendwo aktivieren?
     
  4. cuma

    cuma Aktives Mitglied

    Registriert seit:
    16 Dez. 2006
    Beiträge:
    2,748
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ist die Datei ausführbar ("x") ?
     
  5. officiallyme

    officiallyme Mitglied

    Registriert seit:
    14 Sep. 2008
    Beiträge:
    259
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    ja.
    hab sie dann sogar mal auf 777 gestellt.

    aber ich bin nicht sicher, ob das skirpt stimmt.
    müsste nicht der stick von seinem mountpunkt entfernt werden? sprich müsste nicht irgendwo ein umount uStorxy stehen?

    hatte matze's erstes benutzt und ALLE "disk" darin ersetzt mit dem späteren namen.
     
  6. matze1985

    matze1985 Aktives Mitglied

    Registriert seit:
    17 Feb. 2007
    Beiträge:
    1,537
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hast du das script mal per hand aufgerufen? (mit kompletten pfad)

    hast du automount unter patches aktiviert?
     
  7. officiallyme

    officiallyme Mitglied

    Registriert seit:
    14 Sep. 2008
    Beiträge:
    259
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hatte es mal von hand aufgerufen und da wurde garnichts angezeigt. kein fehler aber auch sonst nix.

    habs einfach per
    cd /var/media/ftp/uStor01/
    ./autoru.sh
    aufgerufen.

    ich hatte autorun aktiviert aber kann ich irgendwie sehen, ob es auch läuft? müsste das mit irgendeinem aufruf sichtbar sein oder in irgendeiner config/skript?

    nebenbei: überschreibt eventuell diese uStorxy geschichte den namen wieder oder hat das damit nix zu tun?

    hier mal ein auszug aus dem image erstellprotokoll:

    sollte stimmen, oder nicht?
     
  8. matze1985

    matze1985 Aktives Mitglied

    Registriert seit:
    17 Feb. 2007
    Beiträge:
    1,537
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Du musst es, wie das hotplugscript auch mit
    "/var/media/ftp/uStor11/autorun.sh"
    aufrufen, sehen kannst du es mit "mount", da ein weiterer mountpoint angelegt wird.
    Poste doch mal dein script. Und ein
    "ls -la /var/media/ftp/uStor11/autorun.sh"
     
  9. officiallyme

    officiallyme Mitglied

    Registriert seit:
    14 Sep. 2008
    Beiträge:
    259
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #9 officiallyme, 30 Dez. 2008
    Zuletzt bearbeitet: 30 Dez. 2008
    also, nach einem halben dutzend versuchen hats nun geklappt, AAAABER nicht so richtig.

    Also es werden zwei Devices gemeldet, der ursprüngliche name und der von mir vergebene.

    Das eigentliche Problem sit aber, dass wenn ich einen reboot via Freetz auslöse, garkeine Partition mehr gefunden wird. Kann noch so oft rebooten, bringt nix. Via telnet einen reboot eingeben führt zum gleichen problem.

    Es funktioniert, wenn ich die FB komplett vom Netz nehme, aber das ist natürlich nicht Sinn der Sache. Geht ja drum, dass nach einem Crash die Partitionen bleiben wie sie waren.

    Ne Ahnung, was das sein könnte?


    EDIT:
    Jetzt habe ich das Skript einfach vom Stick gelöscht aber nach einem Reboot findet er trotzdem keinen Stick! Weder mit noch ohne Skript. Das kann doch nicht sein.
    Hätte das Skript irgendwie manuell deaktiviert werden müssen oder müsste man irgendwo irgendwas ändern?

    Es funktioniert wunderbar, wenn ich das Gerät vom Netz nehme und wieder einstecke. Aber es wird kein Stick/HDD gefunden nach einem reboot.
     
  10. matze1985

    matze1985 Aktives Mitglied

    Registriert seit:
    17 Feb. 2007
    Beiträge:
    1,537
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das er den Stick nicht findet kann nicht an dem script liegen, da ist dann was im USB-System kaputt, kann mir aber nicht vorstellen was.

    Ist dir das vorher mal aufgefallen?

    Das ist recht komisch.
     
  11. officiallyme

    officiallyme Mitglied

    Registriert seit:
    14 Sep. 2008
    Beiträge:
    259
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #11 officiallyme, 30 Dez. 2008
    Zuletzt bearbeitet: 30 Dez. 2008
    nö. manchmal funktionierts auch. mittlerweile sind alle sticks und hdds betroffen. scheint auch nix mit dem skript zu tun zu haben, aber irgendwa stimmt nicht.

    verstehs aber nicht, denn ist mir nicht aufgefallen bevor ich nicht das erste mal das autorun benutzt habe. muss doch eine lösung geben!

    EDIT:
    problem gefunden: der usb adapter. der usb adapter mit druckeranschluss etc. funktioniert wunderbar und bislang konnte ich dort auch geräte anschliessen, aber seltsamerweise geht dies scheinbar nur, wenn kein gerät in der box direkt steckt UND nur, wenn kein software reboot durchgeführt wird. sieht so aus als müsste ich alle platten direkt an die box hängen und denusb drucker-hub dan hinten dran.

    ich kanns mir nicht erklären, aber es ist zumindest "lösbar"
     
  12. henfri

    henfri Mitglied

    Registriert seit:
    21 Sep. 2005
    Beiträge:
    422
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Um nochmal auf das Skript zurück zu kommen:

    Es erstellt einen zusätzlichen(!) Punkt, mit dem du auf die Platte zugreifen kannst. Dieser ist dann immer gleich. Der von der FB erstellte ist immer unterschiedlich.

    Um zu sehen, ob die autorun.sh ausgeführt ist reicht eine autorun.sh mit folgendem Inhalt:

    echo "Hallo Welt" > log.txt

    Wenn du nun nach dem Einstecken eine log.txt mit dem Inhalt "Hallo Welt" auf der Platte hast, weißt du Bescheid.

    Gruß,
    Hendrik
     
  13. officiallyme

    officiallyme Mitglied

    Registriert seit:
    14 Sep. 2008
    Beiträge:
    259
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    stimmt, wäre ein einfacher test gewesen. wie gesagt, funktioniert nun. problem beim "reboot" war die nutzung des usb hubs mit druckeranschluss. keine ahnung wieso.
     
  14. matze1985

    matze1985 Aktives Mitglied

    Registriert seit:
    17 Feb. 2007
    Beiträge:
    1,537
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Wenn du die möglichkeit hast, versuch mal nen anderen hub, dass macht bei mir keine probleme.
     
  15. officiallyme

    officiallyme Mitglied

    Registriert seit:
    14 Sep. 2008
    Beiträge:
    259
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hab alles ans laufen gebracht. wunderbar.

    bis vor ner stunde. seitdem wird der EINE USBStick nicht mehr angenommen. Die LED des Sticks blinkt nur noch ohne aufzuhören. Keine Ahnung wieso.

    Hab den Stick nun schon mit Ext2 und Fat32 neu formatiert, den Stick mit Acronis komplett geplättet und neu eingerichtet, chkdsk ausgeführt und mit H2WTest die Integrität geprüft. Nicht ein Fehler. Nirgens.

    Aber die Fritzbox nimmt ihn nicht mehr. Der Stick hört nicht auf zu blinken.
     
  16. Silent-Tears

    Silent-Tears IPPF-Promi

    Registriert seit:
    3 Aug. 2007
    Beiträge:
    7,456
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    BI
    Hast du deine Box derweil mal neu gestartet? Was für Meldungen tauchen beim Einstecken auf der Box auf? Syslog-Auszüge vom Einstecken? Irgendwas?
     
  17. officiallyme

    officiallyme Mitglied

    Registriert seit:
    14 Sep. 2008
    Beiträge:
    259
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    netzstecker gezogen und alles.

    welches log (name und verzeichnis) soll ich posten?

    "mount" bringt folgendes nach neustart:
    umount -a bringt:
    P.S.: Im Ordner /var/log/ gibts nur die beiden dateien mog.log und mod_load.log
     
  18. matze1985

    matze1985 Aktives Mitglied

    Registriert seit:
    17 Feb. 2007
    Beiträge:
    1,537
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Er meinte wohl nen auszug aus dem syslog.
    Was ist denn da eingebunden, ist das nicht dein stick?
     
  19. officiallyme

    officiallyme Mitglied

    Registriert seit:
    14 Sep. 2008
    Beiträge:
    259
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    nein, das ist die fat32 formatiere 1TB festplatte.

    das problem ist offenbar , dass die Frtizbox plötzlich ein Problem damit hat DIESEN stick korrekt einzustufen. Er wird als USB 2.0 angesprochen (wie alle anderen auch), ist es abe nicht, und irgendwie kapiert die fritzbox das nicht.

    ist nur die frage wie man das ding nun drosselt.

    jetzt wüsste ich nur zu gerne woran dies liegt und ob dies behebbar ist. und wieso um himmels willen dies erst jetzt ganz plötzlich auftritt.
     
  20. matze1985

    matze1985 Aktives Mitglied

    Registriert seit:
    17 Feb. 2007
    Beiträge:
    1,537
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Kannst du mal nen auszug vom syslog posten?
    Und vielleicht auch ein
    "cat /proc/partitions"
    nach dem anstecken.