このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

QPQからファイルサーバに再マウントする方法

発言者:Shinknd
( Date Wednesday, November 19, 1997 09:13:28 )


Mac暦5年のものですが、こんな質問をしてしまいます.

現役引退した(?)Q610上でQPQ1.02を走らせてイントラネット上で
WebServerを運営しているのですが、困ったことがあります.

QPQを幅広く利用しようということでWinユーザが編集したhtmlファイルを
NTファイルサーバ上に置いてQ610からそのボリュームをマウントして
利用しています.

NTにはファイルサーバ以外に機能を持たせている(らしい)のですが、
それがよくトラブり、その度にNTの設定を変えています.
その設定を変える度に(なぜか)Q610からのマウントが切れてしまいます.

そして、マウントが切れた状態で、そのボリュームへのアクセスが発生すると
(当然のことですが)マウントするためにパスワードを聞いてきます.
困っているのは、そのパスワードを入れない限り、QPQは他のアクセスを
受け付けてくれないのです.
Q610をクリーンルームに置いているので、パスワードを入力するためだけに
クリーンルームに入る羽目になります.

そこで、自動でNTをマウントするか、ブラウザ側からユーザ名とパスワード
を入力する方法がないか考えたのですが、よい方法が思い付きません.

何かよい方法がないでしょうか?
知恵を貸して下さい.

おがさわら さんからのコメント
( Wednesday, November 19, 1997 10:39:36 )

うちも同様のことがあり、悩みました。

結果としてはQuickeysのオートマウントをつかって対処した
ような記憶があります。現在ではマウントをしていないので、
トラブルにはなっていませんが.....

田中求之 さんからのコメント
( Wednesday, November 19, 1997 17:44:45 )

AppleShare のボリュームをマウントする(情報を得る) osax を使って、定期的に
マウントされているかどうかをチェックして、切れていたら再マウントさせるという
スクリプトを走らせておくというのも一つの方法でしょうが、これでも、たまたま
マウントされていないときに、そのボリュームのアクセスがきたら問題が起きてし
まいますねぇ。

サーバーの反応速度をある程度犠牲にしてよいのであれば、PreProcessor を
作って、NT サーバー上のディレクトリにあるファイルのアクセスが来たとき
には、ボリュームのマウント状況をチェックし必要に応じて再マウントする
ということは可能です。

ただ、すべての処理が、いったん AppleScript の PreProcessor のチェック
を受けることになりますので、速度的なマイナスもありますが。

shinknd さんからのコメント
( Thursday, November 20, 1997 14:53:34 )

まだ、解決していないのですが、仕事そっちのけで、ServerMounterという
フリーウエア?を見つけてきました.AppleScriptにも対応しています.

ServerMounterがどういうものかというと、UserとPasswordを入力した
ドキュメントを作ります.作ると言っても、マウントするアイコンを
Document Windowにドラッグすると、Server / Volume / Zoneが自動で
登録されるというMacらしいプログラムです.あとは、ユーザ名とパスワードは
自分で入力して、出来上がり.

実験のため、スクリプト編集プログラムを使って、このドキュメントをFinderから
起動してやると、1秒程でマウントできました.(これなら、許せる?)
Volume毎にDocumentを作ってあげれば、いくらでもmount出来そうです.

このスクリプトをユーザからアクセスがあった時点で走らせれば、目的は達成出来そうです.


ところで、このスクリプトはOS8では自動で動きましたが、なぜか7.6.1では
Login画面にパスワード等が表示されませんでした.
現在試行錯誤中です.

田中求之 さんからのコメント
( Thursday, November 20, 1997 17:32:17 )

>このスクリプトをユーザからアクセスがあった時点で走らせれば、目的は達成出来そうです.

この部分をうまく作る必要がありますね。

shinknd さんからのコメント
( Monday, December 01, 1997 17:26:12 )

まだ、解決していません.

Server mounterは不安定だったので、アップルのサイトを探してみたところ、
Mountvolumeというスクリプト機能拡張ファイルを見つけました.
これなら、スクリプトから確実に自動マウントできます.
URLを指定すると、マウントするスクリプトが動作するようにしました.

ところが、NTサーバがマウントを切ると、Macにはダイアログが出るのですが、
これを解除しない限り(リターンを押すだけですが)、QPQは動きません.

このダイアログをバックグラウンドで走っているスクリプトから、捕らえることが
できるのでしょうか?
" on idle 〜"を使って、定期的にこのダイアログが出ているかどうかをチェック
しようと考えています.
エラー番号を探しているところです.

→  自動マウントスクリプト拡張

モリヤ さんからのコメント
( Monday, December 01, 1997 21:24:28 )

ダイアログのデフォルトボタンを押すだけなのでしたら,Okey Dokeyという
コンパネを入れておけば良いのではないでしょうか。

→  4種の神器

田中求之 さんからのコメント
( Monday, December 01, 1997 21:59:03 )

ダイアログが出てしまったらスクリプトで操作ができませんので、その前に、
つまり実際にファイルのアクセスが行われる前にチェックしマウントする必要が
あります。

PreProcessor を組むことでこのチェックは可能になります。つまり、PreProcessor
によって、どのディレクトリーへのアクセスかをチェックし、リモート・ボリュームの
ディレクトリ(フォルダー)に対するアクセスであった場合には、マウントのチェック
(および再マウント)の処理を行うようにすればいいわけです。PreProcessor が
処理を行っている段階では、ファイルへのアクセスは行われませんので、マウント用の
ダイアログが出ることはありません。