Ожидание загрузки другого ПК перед монтированием общего ресурса Samba

Ожидание загрузки другого ПК перед монтированием общего ресурса Samba

Я монтирую общий ресурс samba через /etc/fstab. Проблема в том, что если они выключены и я их запускаю, машина, которая монтирует общий ресурс, включается первой, и поэтому общий ресурс еще недоступен. Есть ли возможность, чтобы он пытался монтировать его, пока общий ресурс не станет доступен?

Проблема в том, что на этих ресурсах находятся данные, необходимые приложениям для корректной работы.

решение1

Не монтируйте его автоматически через fstab, вместо этого используйте crontab:

  1. Настройте свой fstabресурс так, чтобы он не монтировался автоматически.

    //servername/sharename  /media/windowsshare  cifs  noauto  0  0
    

    У вас могут быть различные другие варианты там, предположительно, вы уже это делаете. Важно добавить, noautoчто гарантирует, что

          noauto do not mount when "mount -a"  is  given  (e.g.,  at  boot
                 time)
    
  2. Создайте задание 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который монтирует системы по требованию, как только кто-либо пытается получить к ним доступ.

Связанный контент