Automatorにネットワークボリュームをマウントさせるにはどうすればよいですか?


12

rsync10.6.3 MacBook ProのメディアであるAutomatorの「スクリプト」をUbuntu 10.10 HTPCに書き込みます。Automatorにrsyncコマンド用のシェルスクリプトを実行させることはできますが、AutomatorにHTPCの3つのボリューム(音楽、ビデオ、写真用のフォルダー)をマウントさせることはできません。

ログイン時にこれらのボリュームを自動的にマウントします(これらのコンピューターはwifiネットワーク経由で接続します)が、HTPCボリュームがマウント解除されることがあるため、デフォルトで再マウントしたいと思います。

Automatorにボリュームをマウントする方法はありますか?私もシェルスクリプトを使用できます。ありがとう!

回答:


9

私はこのようなオートマトンワークフローを常に構築しています。必要なアクションは2つだけで、それらは両方ともファイルとフォルダーのアクションです。

1)指定されたサーバーを取得します。これにより、接続する共有のリストを作成できます。Finder-> Go-> Connect to serverからマップできる場合、これを使用できます。

2)サーバーに接続します。これは、渡されたサーバーに接続します(指定されたサーバーの取得またはサーバーの要求から)。


+同意:これはまさに、iTunesライブラリの同期に使用するrsyncワークフローで行う方法です。ワークフローの完了後にネットワークドライブを接続したままにしたくない場合は、必ずボリュームの取り出しを使用してください。
ロバートSチャシオ

1
「リバース」ワークフローが必要な場合は、ボリュームの取り出しも便利です。上記の手順は、仕事を始めるときに実行するワークフローの一部として使用します(プログラムを開いたり、サーバーに接続したり、仮想マシンにリモート接続したりすることもあります)。結局のところ、すべてのサーバーを切断し、すべてのプログラムを終了する別のサーバーがあります。
ベンワイアット

6

私はと一緒にディレクトリをマウントするには、以下のAppleScriptを使用しマルコポーロ私は私のオフィスと自宅の両方を取得する場合、ネットワーク共有が自動的にマウントされるように。

サーバーの種類に応じて、USERNAME、PASSWORD、SERVER / SHARENAME、および場合によってはsmb://を変更する必要があります。

tell application "Finder"
    try
        mount volume "smb://USERNAME:PASSWORD@SERVER/SHARENAME"
        delay 1
    end try
end tell

更新:MarcoPoloを使用しないオプション:最初にサーバーにpingを実行し、応答があった場合のみ接続を試みることができます。その後、このスクリプトをログイン項目に追加できます

(「some_server」という名前のサーバーに接続しようとしているとしましょう)

-- (0) Check to see if there server exists by pinging it
set max_retry to 60
set k to 0
repeat while (do shell script "ping -c 1 some_server") contains "100% packet loss"
    delay 5
    set k to k + 1
    if k > max_retry then error "Server is not responding for predefined period." number 8000
end repeat

-- (1) It exists, mount the volume
tell application "Finder"
    try
        mount volume "smb://USERNAME:PASSWORD@some_server/SHARENAME"
        delay 1
    end try
end tell
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.