ubuntuusers.de

automountscript für Windows Freigaben

Status: Ungelöst | Ubuntu-Version: Ubuntu 11.10 (Oneiric Ocelot)
Antworten |

sowiso

Anmeldungsdatum:
16. April 2008

Beiträge: 42

Hallo!

Das Linux-System ist dauerhaft online. Allerdings ist das Windowssystem das eingebunden werden soll nicht immer verfügbar. Ich nutze folgendes Script was periodisch aufgerufen wird um die Windows-Freigabe zu mounten

1
2
3
4
5
6
7
if [ $(mount | grep -c /media/austausch) != 1 ]
then
        mount -t smbfs //192.168.1.101/Daten /media/austausch -o username=xxx,password=xxx || exit 1
        echo "/media/austausch is now mounted"
else
        echo "/media/austausch already mounted"
fi

Das einbinden funktioniert auch soweit. Nur wenn das Windows-System nicht mehr verfügbar ist und man versucht auf /media/austausch zuzugreifen oder /media/austausch unmounten möchte hängt sich das System auf. Teilweise bringt nichtmal STRG+C etwas. Wie kann ich es lösen, dass automatisch ungemounted werden kann wenn das Windows-System offline geht?

Danke für die Hilfe!

Grüße sowiso

bodensee

Anmeldungsdatum:
4. November 2006

Beiträge: 1971

Hallo,

vielleicht eine Abfrage per ping in Abständen von 15Minuten? So nach dem Motto alle 15 min werden drei bis vier pings an Win gesendet, kommen alle pings zurück wird gemountet, andernfalls erfolgt ein unmount.

Kann man aber sicherlich auch noch eleganter lösen.

Hilft das?

sowiso

(Themenstarter)

Anmeldungsdatum:
16. April 2008

Beiträge: 42

Hört sich gut an. Die Frage ist nur ob das umount funktioniert wenn das System schon offline ist. Jetzt ist es ja so, dass wenn ich ein umount ausführe wenn das System down ist dann hängt alles. Aber ich kanns mal ausprobieren.

Max-Ulrich_Farber

Avatar von Max-Ulrich_Farber

Anmeldungsdatum:
23. Januar 2007

Beiträge: 8010

wenn ich ein umount ausführe wenn das System down ist dann hängt alles. Aber ich kanns mal ausprobieren.

Das wird mit dem Skript sicher auch nicht anders sein.

Wie kann ich es lösen, dass automatisch ungemounted werden kann wenn das Windows-System offline geht?

Ich befürchte, da lässt sich gar nichts machen, denn eine Vorankündigung, dass das System bald offline geht, gibt es nicht, und wenn es offline ist, dann ist es zu spät. Das System kommt dann zwar nach meiner Erfahrung schon irgendwann wieder, aber das timeout dauert sehr lang. Ein Server, der vom Netz geht, solange noch Clients mit ihm verbunden sind, ist grundsätzlich ein ernsthaftes Problem!

Wenn Du nicht alle Optionen von mount.cifs brauchst, könnte vielleicht auch gvfs-mount eine Alternative sein, da hängt meines Wissens nicht alles, wenn der Server offline geht. Aber Vorsicht: Wenn es sein kann, dass der Server vom Netz geht, dann sollte man auf jeden Fall nur mit der Option directio mounten, damit nicht auf dem Client gecachet wird. Ob es bei cifs-mount etwas Entsprechendes gibt, weiß ich leider nicht.

Gruß - Max-Ulrich

sowiso

(Themenstarter)

Anmeldungsdatum:
16. April 2008

Beiträge: 42

Hey!

Sorry für die späte Antwort bin aber lange nicht dazu gekommen. Leider geht das so auch nicht wenn ich es mit gvfs-mount einhängen möchte sagt er mir immer nur "Error mounting location: Datenträger unterstützt einhängen nicht" Kann man für mount nicht irgendwie ein Timeout setzen, dass er nach xx Sekunden ohne Verbindung automatisch ohne Fehler umounted?

Grüße sowiso

Max-Ulrich_Farber

Avatar von Max-Ulrich_Farber

Anmeldungsdatum:
23. Januar 2007

Beiträge: 8010

"Error mounting location: Datenträger unterstützt einhängen nicht"

Dann steht die Netzwerk-Verbindung halt noch nicht, wenn gvfs mounten will...

Kann man für mount nicht irgendwie ein Timeout setzen, dass er nach xx Sekunden ohne Verbindung automatisch ohne Fehler umounted

Das Problem ist ja, dass es bei "ohne Verbindung" für ein sicheres Umounten schon zu spät ist. Und wie man ermitteln soll, dass die Verbindung vom Server bald beendet werden wird, weiß ich nicht 😕

Irgendwie ist das Ganze für mich wie ein "Rote-Ampel-Sensor" fürs Auto: Ganz ohne die Aufmerksamkeit des Fahrers geht es halt nicht. Und wenn die Ampel mal überfahren ist, dann nützt Anhalten auch nichts mehr.

Server könnten vor dem Abschalten überprüfen, ob noch Clients im Netz aktiv sind, und dann z.B. diesen nötigenfalls eine Nachricht senden "Vorsicht, ich schalte bald ab", und der Client könnte dann diese auswerten und rechtzeitig umounten. Wie man so etwas mit einem Windows-Server machen kann, weiß ich aber nicht. Gehen tut schließlich alles, nur fragt sich, ob sich der Aufwand lohnt.

Mir ist aufgefallen, dass mein NAS zwar einen Taster hat zum Einschalten, aber keinen zum Ausschalten. Einen Server schaltet man halt nicht so ohne Weiteres ab, das ist immer gefährlich!

Gruß - Max-Ulrich

Isegrim

Avatar von Isegrim

Anmeldungsdatum:
29. Dezember 2006

Beiträge: 535

Hallo,

bevor das Windows runterfährt, sollte evtl. eine Datei gelöscht werden, die der Linux-Server während der ganzen Zeit des mounts prüfen muss. Ist die Datei weg, soll er umounten.

Dafür könnte evtl. dieses Scipt hilfreich sein: Run before shutdown - http://www.autohotkey.com/forum/topic26304.html

Viele Grüße

sowiso

(Themenstarter)

Anmeldungsdatum:
16. April 2008

Beiträge: 42

@Max-Ulrich Farber Das Windows-System ist kein richtiges Serversystem. Dies ist mein normaler Arbeitsrechner. Der Server ist eigentlich das Linux-System (läuft auch immer). Das Linux-System soll dann nur die Freigaben vom Windows-System via rsync abgleichen.

@Isegrim das schau ich mir mal an. Allerdings ist es auch nicht die schönste Lösung, da das Linux-System ja ständig auf das Netzwerk zugreifen muss um die Überprüfung durchzuführen

Isegrim

Avatar von Isegrim

Anmeldungsdatum:
29. Dezember 2006

Beiträge: 535

Hallo,

wenn Du das Prüfscript geschrieben hast (auf dem Linux, das die Datei prüft), rufst Du das mal mit

time scipt.sh

auf. Dann kannst Du sehen was das Zeit benötigt.

Antworten |