AtermWR6600Hをリモートから自動再起動する(teretermマクロサンプル)
かなりニッチな情報だが、役に立つ人もいないこともないだろうからメモ。
AtermWR6600Hってのは家庭用無線LANルータなのだが、
どうも起動しっぱなしだと挙動が怪しくなる。
私の場合、家にサーバを立てて色々とやっているため、1日あたり12時間程度、断続的にインターネットとの通信をし続けている。
そのためか、動きが重くなるので、一日一回は手動でリブートしていた。
その作業を自動化しようって話。
色々と考えたのだが、teratermのマクロを使うのが最も楽だという結論に達した。
http://www.forest.impress.co.jp/lib/inet/servernt/remote/utf8teraterm.html
記述するマクロはこんな感じ。
これを、拡張子ttlで保存する。
※行頭に「;」がある行はコメント行なので適当に読み飛ばすべし。
; Sample macro for Tera Term
; Telnet login; open Tera Term
; command line = 'TERATERM myhost.mydomain' (telnet)
connect '192.168.0.1:23 /nossh'; login
wait 'login : '
sendln 'admin'wait 'Password: '
sendln 'password'wait '>'
sendln 'reset reboot'; OK, auto login complete.
「wait」は、その後に記述されてる文字列が返ってくるまで待つコマンド。
「wait 'login : '」なら、「login : 」が返ってくるまで待つ。
「sendln」は、文字列を送るコマンド。
「sendln 'admin'」なら、「admin」を送る。
なので、下記コマンドは「login : 」が帰ってくるのを待って、「admin」という文字列を送る、って意味になる。
wait 'login : '
sendln 'admin'
そんで、作ったttlファイルを、バッチファイルから
"C:\Program Files\teraterm\ttpmacro.exe" reboot_router.ttl
みたいな感じにキックしてやれば動く。
自動化するなら、上記バッチファイルをwindowsのタスクとかスタートアップとかに仕掛けておけばよい。
まあ、参考程度に。