こんばんは。今回はTeraTermというソフトのマクロ機能を使用しLinuxサーバーのlogを自動取得する方法です。
TeraTermとは遠隔でIPアドレスを指定しCLI(コマンドライン)でログインする事が出来るソフトです。
TeraTermはマクロ化(自動化)することも出来ます。この備忘録は、Linuxサーバーへ自動ログイン~log取得~log出力までを自動化した記事になります。
TeraTermマクロ SSL接続 使用方法
TeraTermマクロを作成するとワンクリックでリモート接続→ログイン→コマンド入力→ログ出力→ログアウトまで一瞬で終わります。
TeraTermマクロ SSH ログ取得コード例
例として下記の設定のサーバーになります。
- OS:Linuxサーバー
 - IP : 172.30.1.1
 - ログインID: root
 - パスワード: Password
 
LinuxサーバーにSSH接続 → ログ取得 → ログ保存 → SSH接続終了 まで実施できるマクロを作成します。
マクロを作成するには、メモ帳に下記のコードを貼り付けます。保存するときは拡張子.ttlで保存し完了となります。
;===================================== 
 ; Filename : 172.30.1.1ログ取得.ttl 
 ; Description : SSH Auto login 
 ; Author : 
 ; Created : 2019/11/21
 ;=====================================
 ;; 接続先サーバ・ユーザ名・パスワード設定 
 username = ‘root’ ; ログインに使用するユーザー名に書き換える
 hostname = ‘172.30.1.1’ ;接続するサーバーのIPアドレス/サーバー名に書き換える
 PASSWORD = ‘1qaz’
 ;;ログ取得場所設定
 LOGSPATH = ‘C:\log\’
 ;=====================================
 ;; ①コマンド
 connect ‘172.30.1.1 /ssh /2 /auth=password /user=root /passwd=1qaz’
 ;
 ;
 ;;②ログ名
 getdate LOG_NAME ‘log_&h.log’
 FULLPATH = LOGSPATH
 strconcat FULLPATH LOG_NAME
 ;
 ;
 ;;③ログ取得命令
 logopen FULLPATH 0 0
 pause 3
 ;
 ;
 ;;④ログイン 
 wait ‘[root@linuxsv ~]#’
 pause 1
 ;
 ;
 ;;⑤命令コマンド(各種)
 ;;命令1
 sendln ‘df -h’
 wait ‘[root@linuxsv ~]#’ 
 sendln ”
 sendln ”
 sendln ”
 pause 1
 ;
 ;
 ;;命令2
 sendln ‘top’
 wait ‘[root@linuxsv ~]#’ 
 pause 2
 sendln #$03
 sendln ”
 sendln ”
 sendln ”
 pause 1
 ;
 ;
 ;;命令3
 sendln ‘cat /var/log/messages | tail -500’
 wait ‘[root@linuxsv ~]#’ 
 sendln ”
 sendln ”
 sendln ”
 pause 1
 ;
 ;
 ;;⑥ログクローズ
 logclose
 ;
 ;
 ;;⑦マクロ終了 
 wait ‘[root@linuxsv ~]#’ 
 sendln ‘logout’
 wait ‘[root@linuxsv ~]#’ 
 sendln ‘logout’
 ;
 ;
;;⑧TeraTarm終了
closett 
 end
TeraTermマクロは定期作業などの場合は非常に便利なツールになりますのでぜひ活用してみてください。
下記にはTelnet接続する際のTeraTarmマクロの記事を紹介しています。それではー!
	
  
	
	
	
	