試験の自動化はかなりの手間がかかるが、
手動で試験する場合、試験毎のログ取得にも地味に時間がかかる。
ここではTeraTermのマクロを利用したお手軽なログ取得スクリプト例を紹介。
試験をやる際の稼働がぐっと減るのでおすすめ。
■用意するもの
・ログ取得対象のサーバ
・マクロを実行する操作用PC(サーバにSSH接続できること)
→TeraTermとTeraTermMacroをインストールしておく
※TeraTermのバージョンは4.66以上
■マクロの内容
・自動SSHログイン
・ログ取得
※いろいろ試した結果、ログ取得には以下のSCP受信方法を使わせて頂きました。
参照:http://qiita.com/KurokoSin/items/b4d2d0a81c8d05f110ef
;************************************************************************************
;初期設定
;************************************************************************************
;===================================================================================
; IPアドレス、ID、パスワード設定
HOSTADDR = '192.168.1.1'
LOGIN_ID = 'root'
LOGIN_PASSWORD = 'password'
;===================================================================================
;===================================================================================
;ログインプロンプトチェック ※サーバにログインしたときのプロンプトと合わせる
PROOUT = '[root@test]#'
;===================================================================================
;===================================================================================
;ログを保存するパス
;remoteFile:サーバ側のログファイルパス
;localFile:ローカル(マクロ実行側)のログ保存パス
remoteFile = '/var/log/message'
localFile = 'C:\test\testlog'
;===================================================================================
;************************************************************************************
;自動SSHログイン
;************************************************************************************
COMMAND = HOSTADDR
strconcat COMMAND ':22 /ssh /2 /auth=password /user='
strconcat COMMAND LOGIN_ID
strconcat COMMAND ' /passwd='
strconcat COMMAND LOGIN_PASSWORD
connect COMMAND
wait PROOUT
sendln ''
wait PROOUT
sendln ''
;************************************************************************************
;取得するログを初期化
;************************************************************************************
sendln ':> /var/log/message'
;************************************************************************************
;メッセージを表示 ※メッセージを表示している間にテスト実行 終わったら、OKボタンを押す
;************************************************************************************
messagebox 'Wait until the end of the test. Press After testing.'
;************************************************************************************
;ログをサーバから取得
;************************************************************************************
;wait synchronized
filesearch localFile
if result then
filedelete localFile
endif
scprecv remoteFile localFile
mpause 1100
sizeBef = 0
:confirm_start
filestat localFile sizeNow
if sizeNow = sizeBef then
goto confirm_end
else
mpause 1100
endif
sizeBef = sizeNow
goto confirm_start
:confirm_end
;************************************************************************************
;SSH接続終了
;************************************************************************************
wait PROOUT
sendln 'exit'