Net::Telnetで軽くハマる

| | コメント(0) | トラックバック(0)

Net::Telnetモジュールを使って会社のサーバに仕事をさせるスクリプトを書いていたら、
以前ログインできてたのに、サーバリプレース以後ログインできなくなった。
結構ハマってしまって放置していたのだが、今日ようやくFixできてスッキリ。
Net::Telnetでの通信のやりとりは、dump_log()メソッドでファイルに記録できるのね。

  # ホストに接続する
  $telnet->open( $hostname );
  
  # loginと出力されたらユーザ名を送信
  $telnet->waitfor('/login/i');
  $telnet->print( $username );
  
  # passwordと出力されたらパスワードを送信
  $telnet->waitfor('/password/i');
  $telnet->print( $password );
  
  # ターミナルタイプ設定
  $telnet->waitfor('/terminal type? /');
  $telnet->print( 'vt100' );
  
  # プロンプトが出力されるまで待つ
  $telnet->waitfor( $prompt );

上記太字部分がミソで、こいつを指定してやらないと、ログインプロンプトが返ってこない環境があるらしい。
これを設定してやらないと、

  unknown terminal type network
  Terminal type? 

とか言われるので、.bash_profileに'export TERM=vt100'とか書いてあげたりしないといけない(そこで入力待ち状態なのでプロンプトを待ってるwaitfor()がタイムアウトする)。

ようやくFixしたので、これを使ってリリース作業の自動化とかできたら楽だな~とか妄想中。(笑

トラックバック(0)

このブログ記事を参照しているブログ一覧: Net::Telnetで軽くハマる

このブログ記事に対するトラックバックURL: http://www.kreis-net.jp/blog/mt-tb.cgi/26

コメントする

2009年11月

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          

ウェブページ

Profile

name: Michiya Honda
nick: PIA
birth: 21-Nov-1975
e-mail: pia at this domain
SNS: mixi, nowa
起業・独立サポート「katana」

このブログ記事について

このページは、PIAが2004年11月10日 13:52に書いたブログ記事です。

ひとつ前のブログ記事は「コメントSPAM撲滅!」です。

次のブログ記事は「トランザクション」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.1