ネットワーク再接続時にSMB/AFP共有をマウントする

ネットワーク再接続時にSMB/AFP共有をマウントする

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 秒間スリープします。

非常に汚いですが、望みどおりに機能します。改善の余地はたくさんあります。

関連情報