こんばんは。今回は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マクロの記事を紹介しています。それではー!