Ansibleなどまともな構成管理ツールが導入されていればいいんですが、
現実のところ、ドキュメントはクソ!実機情報は正しい!なので、
大抵泥臭いことをしてシステム構成図を確認したり作ったりします。
何百回も同じことする苦行はやりたくないので、
とりあえずLinuxサーバだということがわかれば自動で構成情報を取得したい。
Linux踏み台あればBashスクリプト組むけど、Windows踏み台orローカルPCからのアクセス・・・。
しかもツールはTeratermくらいしか許されていない・・・。
そんな方はどうぞ。
もともとは拾い物のサンプルスクリプトを改変したものなので作りは粗いです。
ご容赦を。
自動ログインしてホスト名とIPを取得するTeratermMacro。
AccessList.csvに記載されたサーバすべてに自動実行する。
実行するコマンドは任意に変更可能。
csvfile = 'AccessList.csv'
separator = ','
; 読み取り専用でCSVファイルを開く
fileopen fh csvfile 0 0
while 1
filereadln fh buf
if result then
break
endif
strsplit buf separator
ip = groupmatchstr1
user = groupmatchstr2
passwd = groupmatchstr3
sprintf2 conbuf '%s /ssh /auth=password /user=%s /passwd=%s' ip user passwd
connect conbuf
; 何か処理をする
pause 3
sendln 'uname -n'
csvfile = 'AccessList.csv'
separator = ','
; 読み取り専用でCSVファイルを開く
fileopen fh csvfile 0 0
while 1
filereadln fh buf
if result then
break
endif
strsplit buf separator
ip = groupmatchstr1
user = groupmatchstr2
passwd = groupmatchstr3
sprintf2 conbuf '%s /ssh /auth=password /user=%s /passwd=%s' ip user passwd
connect conbuf
; 何か処理をする
pause 3
sendln 'uname -n'
pause 3
sendln "ifconfig |grep inet|awk '{print $2}'|cut -d: -f2 | grep -v -e ^$"
pause 3
sendln 'exit'
unlink
endwhile
fileclose fh
end
pause 2
sendln 'exit'
unlink
endwhile
fileclose fh
end
AccessList.csvにログイン情報を羅列しておく
IP_ADDR1,USERNAME1,PASSWORD1
IP_ADDR2,USERNAME2,PASSWORD2
IP_ADDR3,USERNAME3,PASSWORD3