teraterm macro(ttl)でコマンド操作ログを出力する

teratermを開いてから、終了するまでに入力したコマンドログを複数ファイルに分け出力する方法を紹介いたします。

どんな仕様で機能するのかイメージがつかないと思うので、まずはそちらを説明していきます。

※ コードは説明の後にそのまま載せています。

 

まず、ttlファイルをダブルクリックすると、サーバに接続し、メッセージが表示されます。

そして、その後入力したコマンドはteraterm終了まで記録され続けます。

【logstop】と入力すると、ログの取得を終了し、teratermを閉じます。

保存されたログは以下のような形式で、指定されたフォルダに保管されます。

ファイルを開いて中を確認すると、先ほど入力したログを取得できています。

以下は、サンプルコードです。

 

;接続情報
USERNAME = 'username'
PASSWORD = 'password'
HOSTADDR = '192.168.xxx.xxx'strlen HOSTADDR
if result = 0 then
messagebox 'Host information is not input.' 'Input error'
end
endif
COMMAND = HOSTADDR
strconcat COMMAND ':22 /ssh /2 /auth=password /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORD
connect COMMAND
;接続完了getdate DATE '%Y%m%d_%H%M%S'NAME = 'C:logcommand'
strconcat NAME DATE
strconcat NAME '.log'
send NAME
wait '-bash-4.2$'
messagebox 'このモードでは、入力したコマンドのログを取得します。【logstop】と入力すると終了します。' 'MESSAGE'
logopen NAME 0 0
wait 'logstop'
messagebox '終了します。ログは、【c:log】に保存されます。' 'BYE'
sendln "exit"
closett
end
コメントを残す

CAPTCHA