1

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

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

1 ответ1

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 который монтирует системы по требованию, как только кто-то пытается получить к ним доступ.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .