TeraTerm Macro で NetApp を停止する


目的

  • WindowsOSのサーバから、SSHでNetAppを停止させたい。
  • UPS連携しているので、サーバが落ちる前にNetAppを落としたい。
  • そうだ。TeraTermを使おう。

コマンドの雑な解説

connect

SSH接続の命令のようなもの。タスクで実行する場合は、非表示にしたいので/Vを指定する。
なお、.ttlを呼び出す際もttpmacro.exe /V hogehoge.ttlとしておこう。

logopen

マクロ実行時の標準出力を記録してくれるもの。
なお、ssh接続後、つまり、connect後に記載しないとエラーになるので注意されたし。

logclose

ログの記録を停止するもの。それだけ。

wait

続く引数に指定されている文言が出力されるまで、待機する。

sendln

続く引数に指定されているものを送るもの。

.ttlファイルそのもの

;=================================
;Target Machine Info
HOSTADDR = '192.168.11.21'
USERNAME = 'admin'
PASSWORD = 'password0'
PROMPT = '>'
YESNO = '{y|n}'
;=================================

;Commands env
COMMAND = ' '
strconcat COMMAND '/V '
strconcat COMMAND HOSTADDR
strconcat COMMAND ':22 /ssh /2 /auth=password /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORD

;connect
connect COMMAND

;log
logopen 'C:\scripts\storage_shutdown.txt' 1 1

;prompt 
wait PROMPT

sendln 'system node show -node local'
wait PROMPT

sendln 'system node show -node !local'
wait PROMPT

sendln 'system halt -node cluster1-01,cluster1-02 -ignore-quorum-warnings true -skip-lif-migration-before-shutdown true -inhibit-takeover true'
wait YESNO
sendln 'y'
wait YESNO
sendln 'y'

logclose

end