Ich mounte eine Samba-Freigabe über /etc/fstab. Mein Problem ist, wenn sie heruntergefahren sind und ich sie starte, ist die Maschine, die die Freigabe mountet, zuerst aktiv und daher ist die Freigabe noch nicht verfügbar. Gibt es eine Option, dass er versucht, sie zu mounten, bis die Freigabe verfügbar ist?
Das Problem ist, dass sich auf diesen Shares Daten befinden, die Anwendungen für den ordnungsgemäßen Betrieb benötigen.
Antwort1
Mounten Sie es nicht automatisch über fstab, sondern verwenden Sie stattdessen eine Crontab:
Stellen Sie ein
fstab
, dass die Freigabe nicht automatisch gemountet wird.//servername/sharename /media/windowsshare cifs noauto 0 0
Sie können dort verschiedene andere Optionen haben, vermutlich haben Sie sie bereits. Der wichtige Teil ist, das hinzuzufügen, das
noauto
sicherstellt, dassnoauto do not mount when "mount -a" is given (e.g., at boot time)
Erstellen Sie einen Cron-Job, der jede Minute ausgeführt wird und die Freigabe einbindet, falls sie noch nicht eingebunden ist. Fügen Sie diese Zeile hinzu zu
/etc/crontab
* * * * * root mount | grep windowsshare || mount /media/windowsshare
Auf diese Weise wird die Festplatte gemountet, sobald sie verfügbar ist.
Für eine feinere Kontrolle können Sie ein Skript schreiben, das i) prüft, ob der Server online ist und ii) die Freigabe einbindet, sofern sie nicht eingebunden ist. Sie können das Skript dann per Cron ausführen:
#!/usr/bin/env sh
hostname_or_ip_address="1.2.3.4" ## add your WIndows host's name or IP here
if ping -c 1 -W 1 "$hostname_or_ip_address" >/dev/null 2>&1; then
mount | grep windowsshare || mount /media/windowsshare
fi
Speichern Sie das Skript unter /usr/bin/check_mount
einem beliebigen Namen, machen Sie es ausführbar mit chmod +x /usr/bin/check_mount
und fügen Sie diese Zeile hinzu zu/etc/crontab
* * * * * root /usr/bin/check_mount
Eine weitere Option, die es wert ist, untersucht zu werden, istautofs
das Systeme bei Bedarf mountet, sobald jemand versucht, auf sie zuzugreifen.