삼바 공유를 마운트하기 전에 다른 PC가 나타날 때까지 기다리는 중

삼바 공유를 마운트하기 전에 다른 PC가 나타날 때까지 기다리는 중

/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. 1분마다 실행되는 크론 작업을 생성하고 아직 마운트되지 않은 경우 공유를 마운트합니다. 이 줄을 다음에 추가하십시오./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누군가가 액세스를 시도하자마자 요청에 따라 시스템을 마운트합니다.

관련 정보