へっぽこエンジニアの覚え書き

主に、バッチとTeraTermマクロのことについて書きます。

Teratermマクロでサーバにログインして自動でログを取る

;=============サーバ==============

hostip = '192.168.10.10'

username = 'user01'

password = 'pAssw0rd'

;=================================

command = hostip

strconcat command ':22 /ssh /2 auth=password /user='

strconcat command username

strconcat command ' /passwd='

strconcat command password

connect command

wait '$' '#' '>' ':'

getdir auto_log

strconcat auto_log '¥'

getdate date '%Y%m%d_%H%M%S'

strconcat auto_log date

strconcat auto_log '.txt'

logopen auto_log 0 0 0 1

 

今回は、自動でログを取ります。

waitまでの説明は前の記事を読んでください。

ここではgetdirからの説明です。

getdirは、現在のディレクトリ情報を取得します。

strconcatは変数に後ろの文字や変数とガッチャンコします。

ですので、現在のディレクトリ名に¥を付けます。

getdateで日付を時刻を取得しdate変数に格納します。

私は秒単位までログファイル名にしますので、バッチなどで同時実行した場合でもファイル名が重なって消えてしまうことはありません。

logopenの後ろの0 0 0 1はログの行頭に時刻を追加します。

厳密なログにはいいかもしれませんが、ログをコピペして再利用する場合などはちょっと不便かもしれません。

時刻が不要な場合は、0 0 0 0とすれば時刻はつきません。(0だけでも良いかも・・・)

このマクロを実行した場合、実行したマクロと同じフォルダに20180910_200945などの日付と時刻(秒まで)がつき、最後に.txtを付けたログファイルをマクロファイルと同じファイルに作成します。マクロの行頭には時刻が付加されます。