TeraTerm: TTLマクロで画面メッセージをファイルの保存する

TeraTerm マクロによる、Unixサーバーへ telnet または ssh でログインするための TTLマクロの動きを確認しました。

これだけではログインする手間が少し減るだけで、あまり時間短縮効果はありません。せめて何個かのコマンド発行手順を自動化するとか、ログファイルに画面情報を保存するようなことをしないと使う意味がありません。

ということで、telnet による自動ログイン TTL ファイルの後半に、ログを保存するためのコマンド(緑文字)と、動作している httpd をファイルに保存するコマンド(褐色文字)を付加してみました。

hostname = 'my_host'
logdir = 'C:\temp\tterm_log\' 

logfile = logdir
strconcat logfile hostname
strconcat logfile '.log'
logopen logfile 0 1

wait "~>"
sendln "ps auxww|grep httpd"

wait ">"
sendln "exit"

logdir で保存フォルダーを指定。(最後に)\ を付けるのを忘れないこと。ログファイルはホスト名としておきます。telnet ttl にはhostname を定義していませんでしたので、ここで定義しました。

wait でUnixサーバーのプロンプトを待って、sendln でコマンドを送信。

コマンド終了を待って、ログオフ。

ちなみに私はCシェルユーザーですので、Bシェル系ではコマンド待ちプロンプトが異なるはず。

今回わざわざ TeraTermマクロによる、プロセス名保存を行いましたが、Unixサーバー上にアカウントがあるなら、わざわざTTLマクロを書かなくても、サーバー上のシェルスクリプトで済む話です。

では、TeraTerm マクロの有利な点は?
複数の(出来れば同系統の)サーバーが5台、10台と存在している場合、その動作を監視するような用途に利用することだと思います。例えば、異なる監視用コマンドを10枚 Windowとして開くようなケース。
各サーバーのディスク容量、ログインしているユーザー情報を、一定時間毎にポーリングして保存したり、プログラム処理するような用途です。これだと、サーバーがダウンしていないことをチェックすることも出来るでしょう。

また、ルーターのようなLinuxベースの組み込み機器で、一部のコマンドしかユーザーに解放されていないOSへのアクセスや設定にも効果を発揮できると思います。

上のマクロは一例で、これを発展させればいろいろな処理が出来ると思います。

私は、https://mag.osdn.jp/10/01/08/0825239 を参考にしました。

コメントを残す