Hallo, mein RaspberryPi mountet bei jedem Start einen USB Stick. Dazu habe ich einen Eintrag in der fstab angelegt. Leider klappt das nicht jedes Mal, ich vermute es liegt am USB Stick (NoName billig China Produkt). Wenn ich Dateien in den Mountpoint speichern lasse, liegen diese manchmal auf dem USB Stick und manchmal auf der SDKarte. Ich suche deshalb nach einer automatischen Möglichkeit, zu kontrollieren, ob das Mounten erfolgreich war und wenn nicht es zu wiederholen solange bis es geklappt hat. Manuell geht das ja über "df" bzw "df -h". Bevor ich mir jetzt was zusammenbastele, irgendwelche zeichenketten zu vergleichen, frage ich lieber mal: Geht das automatisch irgendwie eleganter? Gruß und Dank, Gerald
Gerald schrieb: > Geht das automatisch irgendwie eleganter? einfach Mount aufrufen, dann sieht man doch was gemoutet ist.
Peter II schrieb: > Gerald schrieb: >> Geht das automatisch irgendwie eleganter? > > einfach Mount aufrufen, dann sieht man doch was gemoutet ist. Danke, sowas bekomme ich ja mit "df -h" auch. Es soll aber automatisch überprüft werden (ohne meine Abfrage), zB. mittels cronjob direkt nach dem start.
du kannst dir mal http://en.wikipedia.org/wiki/Automounter anschauen, das müsste dafür sorgen das es immer gemountet wird wenn du es brauchst.
1 | grep -qs '/pfad/zum/mountpoint' /proc/mounts |
Den Rückgabewert kannst du dann weiter im Skript verwenden. Evtl geht auch:
1 | mountpoint -q /pfad/zum/mountpoint |
Siehe: http://serverfault.com/questions/50585/whats-the-best-way-to-check-if-a-volume-is-mounted-in-a-bash-script
Gerald schrieb: > Wenn ich Dateien in den Mountpoint speichern lasse, liegen diese > manchmal auf dem USB Stick und manchmal auf der SDKarte Dann stimmt generell etwas nicht! Wenn du auf den Stick speichern willst, und der Stick nicht da ist, bekommst du eine Fehlermeldung. Was aber mit sicherheit nicht passieren wird, ist, dass das OS die Daten irgendwo anders (in diesem Falle die SD-Karte) hinschreibt! Da stimmt was mit deinem Mountpoints nicht!
Kaj schrieb: > Dann stimmt generell etwas nicht! das ist Linux. wenn ein Device nicht gemountet ist, dann werden die Daten einfach in den mountpoint, der ja vorhanden ist, geschrieben. Das ist es ganz normales verhalten.
Kaj schrieb: > Dann stimmt generell etwas nicht! Wenn du auf den Stick speichern > willst, und der Stick nicht da ist, bekommst du eine Fehlermeldung. Was > aber mit sicherheit nicht passieren wird, ist, dass das OS die Daten > irgendwo anders (in diesem Falle die SD-Karte) hinschreibt! Warum nicht? Wen da nichts gemountet ist, existiert das Verzeichnis, das eigentlich der Mountpoint sein sollte, ja trotzdem. Und wenn man dort Schreibrechte hat, kann natürlich dorthin geschrieben werden.
Danke schonmal für die Tipps, ich gehe sie gerade durch. Kaj schrieb: > Gerald schrieb: >> Wenn ich Dateien in den Mountpoint speichern lasse, liegen diese >> manchmal auf dem USB Stick und manchmal auf der SDKarte > Dann stimmt generell etwas nicht! Wenn du auf den Stick speichern > willst, und der Stick nicht da ist, bekommst du eine Fehlermeldung. Was > aber mit sicherheit nicht passieren wird, ist, dass das OS die Daten > irgendwo anders (in diesem Falle die SD-Karte) hinschreibt! Da stimmt > was mit deinem Mountpoints nicht! Ich habe einen Ordner /home/gerald/USBStick erzeugt und diesen als Mountpoint angegeben. Wenn der USBStick eingebunden ist, stellt dieser Ordner den USBStick dar. Wenn nicht, liegen die Daten in /home/gerald/USBStick. Was ist daran falsch?
Gerald schrieb: > Ich habe einen Ordner /home/gerald/USBStick erzeugt und diesen als > Mountpoint angegeben. Wenn der USBStick eingebunden ist, stellt dieser > Ordner den USBStick dar. > Wenn nicht, liegen die Daten in /home/gerald/USBStick. > > Was ist daran falsch? Kann es folgendes sein: ? Deine Daten liegen in dem Ordner /home/gerald/USBStick Wenn dein USBStick gemountest ist liegen dessen daten in /home/gerald/USBStick/'NAME DES USB STICKS' Du schreibs also die Daten in den Ordner USBStick, und in sem selben Ordner wird der USBStick gemounted. Das sind dann immer noch ein Ordner und ein USBStick, aber kopiert wird dabei von alleien nichts automatisch.
lisefba schrieb: > Deine Daten liegen in dem Ordner /home/gerald/USBStick > Wenn dein USBStick gemountest ist liegen dessen daten in > /home/gerald/USBStick/'NAME DES USB STICKS' Nee, "USBStick" dürfte schon der Name des Sticks sein. Das klingt alles schon richtig so, der TO hat ein technisches Problem. -- @TO: Mal ne andere Frage: Kannst Du nicht im Mountpoint-Dir ein Verzeichnis (oder eine Datei) anlegen? Diese wird normalerweise vom USB-Stick verdeckt, könnte aber abgefragt werden? Ansonsten müsste man mal /proc/mounts untersuchen.
:
Bearbeitet durch User
Wie wäre es nicht direkt in das root Verzeichnis des USB Sticks zu schreiben sondern in eine Unterordner also statt /mnt/USBstick so was wie /mnt/USBstick/data, Das hätte den Vorteil, wenn der USB Stick nicht gemountet gibt es das Verzeichnis data nicht und der Schreibe Prozess bekommt einen Fehler. Die Fehler Behandlung könnte das Mounten es Stick sein. Das Verzeichnis data müsstest du dann halt einmal zu beginn auf den USBstick angelegt haben.
Der Schreibprozess bzw. die fopen-Funktion gibt doch auch einen Fehler wenn der Stick nicht gemountet ist und du direkt ins root von dem Stick schreiben willst... also "/mnt/USBstick/bla.txt"
Ich setze die Permissions meiner Mountpoint einfach auf '000'. Wenn ein Medium gemounted wird, aendern sich die Permissions auf die auf dem Medium gesetzten Wert. Damit kann zumindest jeder User > 0 nichts in nicht gemountete Ordner schreiben.
Rene Schube schrieb: > Der Schreibprozess bzw. die fopen-Funktion gibt doch auch einen Fehler > wenn der Stick nicht gemountet ist und du direkt ins root von dem Stick > schreiben willst... also "/mnt/USBstick/bla.txt" Warum sollte er das tun? Wenn mein User auf /mnt/USBstick/ schreiben darf und der mountpoint /mnt/USBstick ist, wird fopen dort eine Datei erstellen, welche im worst case verhindert das mounten danach noch geht ( Stichwort Mountpoint not empty).
Achim Hensel schrieb: > Mal ne andere Frage: Kannst Du nicht im Mountpoint-Dir ein Verzeichnis > (oder eine Datei) anlegen? Diese wird normalerweise vom USB-Stick > verdeckt, könnte aber abgefragt werden? > ...dies bzw. die Umkehrung, eine "feste" Datei auf dem einzubindenden USB-Stick abfragen, ist die gängige Lösung für solche Geschichten. Warum der Stick ab und zu nicht automatisch gemounted wird ist die eine Frage, die man klären könnte, aber nie entgültig lösen wird, da zuviele Einflussfaktoren die Ursache sein können. Und man sollte vielleicht auch noch zwei andere Szenarien beachten und mit obiger Lösung prüfen: * falscher Stick... * Stick im laufenden Betrieb einfach abgezogen... Grüße Uwe
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.