Teratermマクロサンプル(saの昨日の結果を取得する)
※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。スクリプトはAI生成のものも多いのでコピー&ペーストの際は文字コードに注意ください!
Windows Batch Recipe
2025.03.12
サンプル
;=================================================
; COMMENT1 :
; COMMENT2 :
;=================================================
;;接続先IPアドレス
HOSTADDR = 'xxx.xxx.xxx.xxx'
;;接続先ユーザー名
USERNAME = 'hoge'
;;パスワード初期化
PASSWORD = 'hoge'
;;パスワードファイルのパス
PASSFILE = 'hoge_pass.txt'
;;日付取得 年月日時間
getdate DATE '%Y%m%d_%H%M%S'
;;ログファイル名設定 ファイル名に日時を文字列連結で追加
LOGNAME = "C:\Users\hoge\Documents\log_"
strconcat LOGNAME DATE
strconcat LOGNAME ".log"
;;パスワード取得
getpassword PASSFILE USERNAME PASSWORD
;;接続コマンド組み立て
COMMAND = HOSTADDR
strconcat COMMAND ':22 /ssh /2 /auth=PASSWORD /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORD
;;接続
connect COMMAND
;;接続判定1 接続失敗したら終了
if result <> 2 then
messagebox 'Could not connect' 'Connection Error'
end
endif
;;接続判定2 10秒待ってプロンプトが出なければタイムアウトで終了
timeout = 10
wait '$' '#'
if result = 0 then
disconnect
end
endif
;;マクロを隠す
show -1
;;自動でログ取得を設定している場合は終了
logclose
pause 2
;;ログ取得開始 漢字、改行コード変換して書き込み ファイル存在時上書き
logopen LOGNAME 0 0
;;ログ見出し追加、改行
logwrite '######TEST'#13#10
;;ログウィンドウを隠す
showtt 6
;;実行コマンド
sendln 'sar -u -f /var/log/sa/sa`date –date “1 days ago” “+%d”`'
pause 1
sendln 'exit'
;;改行追加
logwrite #13#10
;;ログを閉じる
logclose
;;マクロ終了
end