• このエントリーをはてなブックマークに追加

かなりニッチな情報だが、役に立つ人もいないこともないだろうからメモ。

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のタスクとかスタートアップとかに仕掛けておけばよい。

まあ、参考程度に。

  • このエントリーをはてなブックマークに追加