LoginSignup
2
2

More than 5 years have passed since last update.

TeraTermマクロで試験ログ取得

Last updated at Posted at 2014-04-06

試験の自動化はかなりの手間がかかるが、
手動で試験する場合、試験毎のログ取得にも地味に時間がかかる。

ここでは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'

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2