OSX 内でログイン時に共有をマウントする方法は無数にあります。ネットワーク接続が回復したときにマウントを実行したいと考えています。
理想的には:
- 共有をマウントする
- 接続切断
- 接続が回復しました
- 共有を再度マウントします (可能な場合)。そうでない場合は、別の場所にマウントします。
これを実現する方法について何かアイデアはありますか?
DroboFS から NFS 共有を使用する可能性を検討していますが、CIFS/AFP のままにしておきたいと考えています。
ご提案をお待ちしております。
ありがとう。
答え1
次のようなことを試してください:
last_status=0
while :
do
ping -t 1 google.com > /dev/null 2>&1
exit_status=$?
if [[ $exit_status == 0 && $last_status != 0 ]]; then
last_status=$exit_status
osascript -e 'tell application "Finder"' -e 'eject "share"' -e 'end tell'
osascript -e 'tell application "Finder"' -e 'open location "smb://server/share"' -e 'end tell'
else
last_status=$exit_status
fi
sleep 5
done
Google に ping してインターネット接続を確認します。インターネット接続をテストしたくない場合は、ローカル IP に変更できます。Google に ping できる場合は、Finder に古いマウントを取り出し、SMB 共有を再度マウントするように指示します。そうでない場合は、5 秒間スリープします。
非常に汚いですが、望みどおりに機能します。改善の余地はたくさんあります。