2014年3月26日水曜日

Cisco機器のコンフィグをTera Termマクロで一度に流し込む

Cisco機器にコンフィグを投入するとき、
予めテキストにコンフィグ内容を記載しておき、
少しずつ、Tera Term等のターミナルソフトにコピペしている人も
結構多いのではないでしょうか。

余りにも一気にコピペを行うと、
Cisco機器が正しく読み込んでくれなかったりするため、
このような文化になっています。

コンソール接続の場合はTera Termにおけるシリアルポート設定で、
「送信遅延」を設定することで、
一気にコピペをしても大丈夫にはなりますが、
その名の通り、入力に遅延をかけるものなので、
通常より時間がかかる上に、途中でのキャンセルができません。
(※通称:流し込み)

下記のTera Termマクロを使用すれば、
マクロ実行後にEnterを1度押すだけで、
指定されたテキストファイルを最後まで投入することができます。

動作確認はTera Term Version 4.82 で実施しています。
古いバージョンでは、ファイル選択ダイアログが表示されず
マクロエラーとなってしまうのでご注意下さい。

◆Tera Termマクロ
 (この下の行から fileclose までの行を拡張子 .ttl として保存して下さい。)
;--------------------------------------------
; プロンプト設定
;--------------------------------------------
prompt = '#'

;--------------------------------------------
; 投入Configファイルの選択 [キャンセル]なら終了
;--------------------------------------------
filenamebox '投入Configファイルを選択して下さい。' 0
if result = 0 then
  end
endif

config = inputstr

;--------------------------------------------
; 投入Configファイルの確認 [いいえ]なら終了
;--------------------------------------------
strconcat msg config
strconcat msg ' を投入しますか?'
yesnobox msg 'Tera Term'

if result = 0 then
  end
endif

; ファイルを開く
fileopen fHandle config 0

;--------------------------------------------
; 読み込んだファイルを1行ずつ投入
;--------------------------------------------
:loop
  wait prompt
  filereadln fHandle line

  ; ファイルの最終行なら終了処理へ
  if result goto fclose

  sendln line
  goto loop

; 終了処理
:fclose
  fileclose fHandle

◆使い方
1. グローバルコンフィグレーションモードに移動した状態で、
[コントロール] → [マクロ] を選択します。













2. ここでは、cisco_add.ttl というファイル名で保存したので、
これを選択し、[開く] をクリックします。













3. 投入したいコンフィグが記述されたテキストファイルを選択し、
[開く] をクリックします。













4. 投入したいコンフィグファイルに誤りがないことを確認し、
[はい] をクリックします。









5. Tera Termに戻って、Enterキーを押すと、
流し込みが開始されます。

 ※ご使用は自己責任でお願いします。