ログをとるスクリプトに関してNo.00341
genu さん 01/05/09 22:09
 
はじめまして。
質問するにあたってヘルプとここの掲示板で探してみたのですが
見当たらないので、もしわかる方がいましたら教えていただきたいのです。
今回はじめてスクリプトというものを作ってみました。

>sendwrap "telnet XXX.XXX.XXX.XXX"
>sendwrap "XXXXXXX"
>getdate #date
>log #date + "XX.log", create, nocontrolcode
>sendwrap "設定を表示させるコマンド"
>sendwrap "exit"

以上の5行の簡単なものですが思った動きをしてくれません。
以下が作成されたログの中身です。

>>telnet xxx.xxx.xxx.xxx
>>Trying xxx.xxx.xxx.xxx...
>>Connected to xxx.xxx.xxx.xxx.
>>Escape character is '^]'.
>>
>>
>>User Access Verification
>>
>>Password:
>>Router>設定を表示させるコマンド
>>設定1
>>設定2
>>設定3
>>設定4
>>Router>exit
>>Connection closed by foreign host.
>>Server [user 7]>

ログに残したいのは、設定1〜設定4の4行のみなのです。
スクリプトのlogファイルを作る位置を変えてもまったく同じです。
こういったログの範囲指定というものは無理なのでしょうか?
pauseやresumeのオプションも試行錯誤やってみましたが。
最後まで見ていただきありがとうございました。

[ ]
RE:00341 ログをとるスクリプトに関してNo.00342
秀まるお2 さん 01/05/10 11:57
 
 この場合はwait文などを適当に使ってログ取り開始を同期させないとダメです。

 「設定を表示させるコマンド」という文字が返ってきた所からログを取るなら、

    sendwrap "telnet XXX.XXX.XXX.XXX"
    sendwrap "XXXXXXX"
    sendwrap "設定を表示させるコマンド"
    wait "設定を表示させるコマンド";
    getdate #date
    log #date + "XX.log", create, nocontrolcode
    sendwrap "exit"

 とすればいいはずです。

 ただし、この場合でもうまくログ取りタイミングか合わないかもしれないです。そ
の場合はまた連絡ください。

[ ]
RE:00342 ログをとるスクリプトに関してNo.00343
genu さん 01/05/11 14:28
 
お早い返答ありがとうございました。
私の思い描いていたところからログをとる事ができました。
ただ出来なかったことがあります。

1.>Router>設定を見るコマンド
2.>   設定1
3.>   設定2
4.>   設定3
5.>Router>exit
6.>Connection closed by foreign host.
7.>UNIX-Server[user 1]>

以上のようにログが取れるようになりました。
6.7.を省きたいのですが 「log pause」 をやってみたりしたのですが
出来ませんでした。「pause」一瞬で処理が終わってしまって間に合わない
のでしょうか?

[ ]
RE:00343 ログをとるスクリプトに関してNo.00344
秀まるお2 さん 01/05/11 18:10
 
> 5.>Router>exit
> 6.>Connection closed by foreign host.
> 7.>UNIX-Server[user 1]>
>
> 以上のようにログが取れるようになりました。
> 6.7.を省きたいのですが

 んでは、sendwrap "exit"の後ろに、

    wait ">Router>exit"
    log

 と入れてみればいいと思います。それでももしかしたらダメかもしれませんが…。

 秀Termがログを作成したり受信したりするのは、必ずしも1文字単位でやってる訳
じゃなくて、RS-232Cポート用のバッファに溜まったデータをまとめて処理するよう
な形になっています。したがって、wait文で同期を取っても、それをオーバーしたり、
または不足した状態でログが作成されてしまうことはあるかもしれないです。

 その場合は、例えばreadbuffer文で画面を読みとって、その内容をwritefile文で
ファイルに出力するような形にでもしないとダメだと思います。

[ ]
RE:00344 ログをとるスクリプトに関してNo.00345
genu さん 01/05/14 11:34
 
>    wait ">Router>exit"
>    log

成功しました。今回初めて簡単なスクリプトというもの作りましたが
プログラマー(?)の方々の大変さを実感しました。
ありがとうございました。

[ ]