アズライトノート

日記です。

小さな学びと気づき

# 20171218 00:16追記
 
先日パートナーさんとお仕事をしたときのこと。
パートナーさんが、とあるツールを使って、作業を驚くほど効率化して行なっているのを見て、感動しました。
 
お仕事としては、お客さんが使っているネットワーク・セキュリティ機器をリプレイスするというもの。使っている機器が古くなっちゃったので、入れ替えに行ったのです。
そこで、入れ替え前後で、pingによる通信確認や、機器のコンフィグやログの取得を行います。
今まで、私や他の社員は、コマンドプロンプトやtera termを起動してコマンドを手打ちし、コピーしてテキストファイルに保存していました。
これが、地味に手間がかかる。そんなに難しいコマンドでも無いし、量があるわけでも無いのですが、いちいちコマンド実行、コピペ、内容確認、コマンド実行、、、コマンドを間違わないようにし、その結果をもれなく保存していくというのは、気を使うものです。
 
そんな煩わしい作業を、パートナーさんはワンクリックで終えてしまったのでした。
Tera term のマクロファイルであるttlファイルを実行すると、複数のcatalystに自動でログインして、指定したコマンドを実行して行き、その結果をホストごとのファイルで保存します。ダブルクリックするだけで、ものの1分程度で複数機器のログファイルが保存されます。なにこれすごい。
 
ツールが使えれば、業務がこんなに楽に、正確に、早くなるとは。
 
 
今日は時間があったので、その時のマクロを見て見たのでした。なるほどわからん。勉強しなければならないようです。もうちょっと調べてわからなかったらパートナーさんに聞いてみよう。。
 
そういえば、前pingで通信確認するように作ったバッチファイルがイマイチだったことを思い出し、それも調べてみました。
気がのっていたのか、いい感じに改善できてホクホク。この調子でTera termのマクロも使いこなせるようになりたい。
 
 
 
 
ちなみにバッチファイル。
用途としては、障害テスト時の通信確認ですね。。ping打つだけなんですけど、ネットワーク経路の切り替わりテストで何度も実行するので、ワンクリックで済むようにしておくとかなりよい。
 
 
cd フォルダ名
set result-file=テスト.txt
set ip-addr=192.168.1.254
 
echo ★★★★★★★★★★ >> %result-file%
echo %reault-file% >> %result-file%
echo %date% %time% >> %result-file%
echo ★★★★★★★★★★ >> %result-file%
 
echo. >> %result-file%
echo ^>ipconfig  >> %result-file%
ipconfig  >> %result-file%
 
echo ★★★★★★★★★★ >> %result-file%
 
echo.  >> %result-file%
echo ^>ping %ip-addr% >> %result-file%
ping  %ip-addr% >> %result-file%
 
echo ★★★★★★★★★★ >> %result-file%
 
start  %result-file%
 
 
こんな感じです。仕事では★はおとなしい記号に置き換えます。
 
ポイントとしては、
・実行日時が保存されて見返す時に便利
・バッチファイルでコマンドを実行すると実行結果だけ保存されてしまうので、echoコマンドで実行コマンドも表示させる
・set コマンドでファイル名とping宛先アドレスを指定するので、メンテナンスやファイル量産がしやすい
・コマンド実行後にテキストが開くので、そのままログの確認ができる
というところです。
 
なんだろう、書いててお粗末な気がしてきた。というか、今更、これって、レベルが低い…。
でもとりあえず気になってた点は改善できたのでひと満足です。業務で使ってこ。
 
改善点があれば教えてくださいまし。。
 
 
明日はttlやるぞぉ〜
 
 
では寝る。
 
 
 
# 20171218 00:16追記
#改良しました
 
上記のバッチだと、いちいちファイル名を手で修正しなければならず面倒なので、バッチファイルを同じ名前のtxtファイルで保存されるようにしました。
 
##########宛先IPアドレスだけ編集してください##########
set ip_addr = 192.168.1.254
##################################################
 
call :GET_FILENAME %0
GOTO:END
:GET_FILENAME
set result-file=%~n1.txt
 
 
echo ★★★★★★★★★★ >> %result-file%
echo %reault-file% >> %result-file%
echo %date% %time% >> %result-file%
echo ★★★★★★★★★★ >> %result-file%
 
echo. >> %result-file%
echo ^>ipconfig  >> %result-file%
ipconfig  >> %result-file%
 
echo ★★★★★★★★★★ >> %result-file%
 
echo.  >> %result-file%
echo ^>ping %ip-addr% >> %result-file%
ping  %ip-addr% >> %result-file%
 
echo ★★★★★★★★★★ >> %result-file%
 
start  %result-file%
 
########################################
 
この場合だと、たとえば、結合試験などを行う時に、
試験番号ごとにバッチファイル「1-1.bat」「1-2.bat」「1-3.bat」…「4-5.bat」「4-6.bat」を作成しておくと、
バッチファイルを実行するたびに、「1-1.txt」「1-2.txt」「1-3.txt」…「4-5.txt」「4-6.txt」が作られるので、試験のエビデンスまとめるときに、いちいちリネームしなくてよいので楽。
 
 
はぁ~すっきり。
宛先IPアドレスも、手打ちではなくて、別のIPアドレス一覧から引っ張ってこれればかっこいいかなとも妄想したのですが、
そこまでいじると試験で人的ミスが生じかねないかとも思ったので、ここで辞めました。
 
こっちを業務で使ってこっと。
あ~今後ずっと正当に楽していけると思うと楽しいわ。