🖥️

Teratermマクロで業務をサクッと自動化

2022/10/07に公開

背景

対象機器にSSHログインをし、ログやプロセス確認する定型の障害が
1日数件ほど起きていました。意外と作業時間がかかり
マクロ組んだら作業時間が短縮できるかも?と思ったので実装してみました。

※実際の業務で使用したのでコマンドなどは一部変更しております。

マクロ

:::::::::::::::::::::::::::::::::::::::
機器へログイン
:::::::::::::::::::::::::::::::::::::::
sendln 'ssh 機器名'   
wait   ':'     
wait   '$'
sendln 'hostname'
wait   '機器名が表示されることを確認'
:::::::::::::::::::::::::::::::::::::::
rootへ昇格
:::::::::::::::::::::::::::::::::::::::
sendln 'sudo su - ' 
wait   '#'
sendln 'id'
wait   '#'
:::::::::::::::::::::::::::::::::::::::
アクセスログを調査
:::::::::::::::::::::::::::::::::::::::
sendln 'cd /var/log/httpd/' 
wait   '#'
sendln 'pwd'
wait   '#'
sendln  'ログファイルを指定'
yesnobox 'ログの確認は完了しましたか?良ければコマンドの自動入力を継続します。' 
if result=0 then
end
endif
:::::::::::::::::::::::::::::::::::::::
プロセスの確認
:::::::::::::::::::::::::::::::::::::::
sendln 'ps aufx | grep -c 対象プロセス'
wait   '#'
sendln 'q'
wait '#'
"

マクロ説明

めちゃくちゃ簡単な説明です。詳しくは公式などをどうぞ
https://ttssh2.osdn.jp/manual/4/ja/macro/command/index.html

マクロ 用途
sendln 入力するコマンド指定しています。
wait waitで指定のものが出力されるまで次の実行を待っています。
yesnobox 画面に下記のような表示を出力しています。アクセスログを詳細まで確認したかったのでこの出力を出しておくことでログをゆっくり調査が出来ます。調査が終わったらはいを押して次のマクロが実行されるようにしています。

まとめ

結論、対応時間は半分ほどになりました。
スプレットシートを使用して簡単なマクロ生成も行っていたので
マクロ自動生成+マクロ化で作業時間の短縮が出来た感じです。

Discussion