/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)
1分ごとに実行され、まだマウントされていない場合は共有をマウントする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
誰かがアクセスしようとするとすぐに、オンデマンドでシステムをマウントします。