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

サーバーがアクティブな時のログファイルを見る方法

発言者:kazu
( Date Thursday, January 29, 1998 19:58:52 )


WebCamToo 1.4という映像をリアルタイムでブラウザーに
返すというサーバーを立ちあげているのですが、サーバーが立ち上がった
ままでは、ログファイルをどうしてもエディターでみることもできないし、
FTPソフトで落としたり、直接見ることもできません.
(FTPサーバーも立ちあげています)
遠隔地で自分のマックのログファイルを見たいのですけど
どうしたらいいのでしょうか?
ファインダ上ではローカルHDにコピーしてそのファイルを見る
ことはできるのですが、FTPソフトでローカルにコピーしようとしても
出来ないのです...エラーが返ってきます(涙)
UNIXやウインドウズのサーバーの場合見れるというのは勝手にコピーとったり
してくれてるんでしょうかねぇ...
WebSTAR等のちゃんとしたソフトならWebで閲覧できたり
アクティブでもログファイル見れたりするんでしょうけど...
ちなみに、これはこのサーバーだけのことだけじゃなくて、結構他の
サーバーでも同じような目に遭ってる方いらっしゃると思うのですが.

たまちゃん さんからのコメント
( Thursday, January 29, 1998 22:13:35 )

下記記事と同様のケースだと思われますので、ご参照ください。

>>ファインダ上ではローカルHDにコピーしてそのファイルを見る

ことや、直接ファイルを見たい場合には、Timbuktu Proを使う方法がありま
す。

#私も「プンプン」怒っていた。(^_^;;)


→  EIMSのログを自分のマシンで

kazu さんからのコメント
( Thursday, January 29, 1998 23:07:39 )

ごめんなさい、その方法は使ったことあるのですが、途中で切れると
マックが止まったりかなり重かったりと、ちょっと避けたいのです.
そのほかの方法では、無理なのでしょうか?

田中求之 さんからのコメント
( Thursday, January 29, 1998 23:16:27 )

基本的には、ログの記録を中断すればファイルの転送は可能になります。
ですから、CGI を使ってサーバーの Disable Logging をセットし、
FTP で転送を行って、それから CGI で Disable Logging を解除
するという手順を踏めばよいでしょう。

kazu さんからのコメント
( Thursday, January 29, 1998 23:27:49 )

ん?CGIですか?WWWサーバーたちあげてなくてもできるんですか?
ううむぅ、ちょっとわからんので、くわしくおしえてください.
立ちあげてるソフトは、WebCamToo 1.4っていうWWWサーバーではなくて
画像返すだけのソフトとFTPサーバーソフトです.
ちなみに、FTPで一回WebCamToo 1.4を落としてから、ログファイルを
落としてまたたちあげるって事はできそうですが、出来れば立ちあげたまま
見に行きたいのですが...

kazu さんからのコメント
( Thursday, January 29, 1998 23:47:51 )

じぶんで、聞いておいて失礼なのですが、ちょっといい方法思いつきました.(笑)
FTPコマンドではローカルにコピーできなかったのですが、ファインダ上で
Option+ドラッグでは、コピーできたのでここはひとつ、アップルスクリプトを
使って自動的にある周期である場所へコピーしてはどうでしょうか?
もしかしたら、コピーできるかもしれません....
でも、アップルスクリプトわかんないよぉ〜〜〜(涙)

田中求之 さんからのコメント
( Friday, January 30, 1998 01:38:23 )

あ、Web サーバーは動いてなかったのですね。てっきり Web サーバーとセットで
動かすものだと思っていたので (^_^;


kazu さんからのコメント
( Friday, January 30, 1998 08:38:08 )

いえいえ、いろいろと助言ありがとうございましたm(_ _)m
ちょっと前までは、Quid Proとww.acgiっていう一定の間隔でスナップショット
をとるソフトを使っていたのですが、あまりに重いのとリアルタイムじゃない
ので、WWWサーバーはUNIXだけにして画像だけマックが送ることにしたのです.
こうすると、アクセスがあったときだけ送るから軽いしリアルタイムで
画像が返せるから至れり尽くせりなのです.
ちなみに、ブラウザーにはプラグインは必要ないです.

kazu さんからのコメント
( Saturday, January 31, 1998 08:46:32 )

自動ではないのですが、なんとかアップルスクリプトをつくりFTPコマンド
を送ることでそのスクリプトを実行することが出来ましたぁ〜
でもよくよく考えると、自動でないほうが常に立ち上がってる必要が
無いのでこの方が良いかもしれませんね.下にそのスクリプトを記します.
***************************************************************
on run
tell application "Finder"
activate
select file "XXXX" of folder "YYYY" of disk "My HD"
duplicate selection to folder "ZZZZ" of folder "YYYY" of disk "My HD" with
replacing
end tell
end run
****************************************************************
あとは、FTPコマンドでsite a oapp crea(creaはそのあぷりのクリエーター)
とやれば実行されると思いますので、あとはコピーされたログファイルを
見ればいいと思います.実行するとごみ箱にtempが出来てしまうのですが
それは仕様だそうですので、消すというスクリプトを加えるか気にしなくて
いいそうです.
しかぁ〜し、不安材料がありまして、creaで指定してるためもしかしたら
そのクリエーターの実行形スクリプトが全て実行されてしまうのではないか?
ということなのです.ちなみに、実行形のスクリプトのcreaはapltで試して
みたところ偶然ほかのスクリプトは実行されてないようでしたが...
うぅ〜ん、どうしてもわかりません...
ちなみに、siteコマンドはデフォルトではオーナーだけに許される設定に
なってるとおもいます.

田中求之 さんからのコメント
( Saturday, January 31, 1998 12:31:09 )

Finder を activate して、ファイルをわざわざ選択しているようですが(つまり
人間がやるのと同じ動作をさせている)、スクリプトで実行されたらよいわけですから、

on run
  tell application "Finder"
    duplicate file "MacHD:XXXX:YYYY:Log file" to folder "MacHD:AAAA:BBBB:" with replacing
  end tell
end run

というように、Duplicate コマンド一発で済みますよ。これなら Finder はバックグ
ランドで動きますし。

>しかぁ〜し、不安材料がありまして、creaで指定してるためもしかしたら
>そのクリエーターの実行形スクリプトが全て実行されてしまうのではないか?
>ということなのです.

原理的にはそうなりますね。

StayOpen で走らせたままにしておいて定期的にコピーを作らせるか、あるいは
ScriptDeamon を使ってTelnet でコピーの指示を送れるようにする(面倒ですが
確実に狙ったアプリケーションを操作できますし、アプレットを作っておかなくても、
Finder に直接コピーの指示を出すことも可能です)、といった方法が考えられますね。


木下@キー・プランニング さんからのコメント
( Saturday, January 31, 1998 16:07:45 )

私の所では、サーバのファイル共有のオン・オフにリモートからのAppleScriptを
使っていますが、Duplicateさせるだけなら、この方法でもできそうですね。

tell application "Finder" of machine "マシン名"
  --ここに実行コマンド行
end tell

とやって、AppleTalkネットワークを経由してサーバのFinderにtellするだけです。
私も同じ問題を抱えていたので、試してみます。

→  Key-planning Web(Webデータベース実験場)

kazu さんからのコメント
( Saturday, January 31, 1998 17:27:34 )

田中さぁ〜ん、木下さぁ〜ん大変にありがとうございますですぅm(_ _)m
さっそく、activeじゃない方法ためしてみます>田中さん
実は全くアップルスクリプト知らない物ですから録音機能を使って作ってみたのです^^;
で、ついでといってはなんですけどその後書いている内容が全くの素人な物ですから
ちょっとわからないんです(涙)>田中さん&木下さん
StayOpenの所は理解できるんですが、具体的にどう作ったらよいやら...
木下さんの方はもうちょっと上手く処理出来るんでしょうけど、こちらのほうも
ちょっと理解できません...(涙)もう少し具体的に書いてもらえればうれしいです.
とりあえず、プログラムをFTPコマンドで実行させる方法でなぜか
他のプログラムは動いてないみたいなのでスクリプトを田中さんのにして
実行してみますね.