Не монтируйте его автоматически через fstab, вместо этого используйте crontab:
Установите свой fstab
чтобы не монтировать общий ресурс автоматически
//servername/sharename /media/windowsshare cifs noauto 0 0
У вас могут быть различные другие варианты, по-видимому, у вас уже есть. Важной частью является добавление noauto
которое гарантирует, что
noauto do not mount when "mount -a" is given (e.g., at boot
time)
Создайте задание cron, которое запускается каждую минуту и монтирует общий ресурс, если он еще не подключен. Добавьте эту строку в /etc/crontab
* * * * * root mount | grep windowsshare || mount /media/windowsshare
Таким образом, диск будет смонтирован, как только он станет доступным.
Для более детального контроля вы можете написать скрипт, который i) проверяет, подключен ли сервер и ii) монтирует общий ресурс, если он не смонтирован. Затем вы можете запустить скрипт через cron:
#!/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
Сохраните этот скрипт как /usr/bin/check_mount
или как вам угодно, сделайте его исполняемым с помощью chmod +x /usr/bin/check_mount
а затем добавьте эту строку в /etc/crontab
* * * * * root /usr/bin/check_mount
Другой вариант, на который стоит обратить внимание - это autofs
который монтирует системы по требованию, как только кто-то пытается получить к ним доступ.