我正在透過 /etc/fstab 安裝 samba 共用。我的問題是,如果它們關閉並且我啟動它們,則安裝共享的電腦將首先啟動,因此共享尚不可用。是否有一個選項可以讓他嘗試掛載它直到共享可用?
問題是,這些共享上有應用程式正常運作所需的數據
答案1
不要透過 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
一旦有人嘗試存取系統,它就會按需安裝系統。