Oczekiwanie na pojawienie się innego komputera przed zamontowaniem udziału samba

1

Instaluję udział samby za pośrednictwem / etc / fstab. Mój problem polega na tym, że jeśli są one zamykane i uruchamiam je, komputer, który montuje udział, jest pierwszy i dlatego udział nie jest jeszcze dostępny. Czy jest opcja, że ​​próbuje go zamontować, dopóki udział nie będzie dostępny?

Problem polega na tym, że na tych udziałach znajdują się dane, które aplikacje muszą działać poprawnie

użytkownik2071938
źródło

Odpowiedzi:

1

Nie montuj go automatycznie za pomocą fstab, zamiast tego użyj crontab:

  1. Ustaw, fstababy 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, noautoco to zapewnia

          noauto do not mount when "mount -a"  is  given  (e.g.,  at  boot
                 time)
    
  2. 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_mountlub cokolwiek zechcesz, spraw, aby był wykonywalny, chmod +x /usr/bin/check_mounta następnie dodaj ten wiersz do/etc/crontab

* * * * *   root   /usr/bin/check_mount 

Inną opcją wartą rozważenia jest autofsmontowanie systemów na żądanie, gdy tylko ktoś spróbuje uzyskać do nich dostęp.

terdon
źródło