Nie montuj go automatycznie za pomocą fstab, zamiast tego użyj crontab:
Ustaw, fstab
aby nie montować udziału automatycznie
//servername/sharename /media/windowsshare cifs noauto 0 0
Możesz mieć różne inne opcje, prawdopodobnie już to robisz. Ważną częścią jest dodanie tego, noauto
co to zapewnia
noauto do not mount when "mount -a" is given (e.g., at boot
time)
Utwórz zadanie cron, które będzie uruchamiane co minutę i montuje udział, jeśli nie jest jeszcze zamontowany. Dodaj tę linię do/etc/crontab
* * * * * root mount | grep windowsshare || mount /media/windowsshare
W ten sposób dysk zostanie zamontowany, gdy tylko będzie dostępny.
Aby uzyskać bardziej szczegółową kontrolę, możesz napisać skrypt, który: i) sprawdza, czy serwer jest w trybie online, i ii) montuje udział, chyba że jest zamontowany. Następnie możesz uruchomić skrypt za pomocą crona:
#!/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
Zapisz ten skrypt jako /usr/bin/check_mount
lub cokolwiek zechcesz, spraw, aby był wykonywalny, chmod +x /usr/bin/check_mount
a następnie dodaj ten wiersz do/etc/crontab
* * * * * root /usr/bin/check_mount
Inną opcją wartą rozważenia jest autofs
montowanie systemów na żądanie, gdy tylko ktoś spróbuje uzyskać do nich dostęp.