以前、expectコマンドが便利な件(http://shinodogg.com/?p=1886)というエントリを書いたように、
#!/usr/bin/expect send "ssh 対象サーバn" expect "password:" send "パスワードn" interact
こんな感じでローカルのスクリプト叩いてSSHでサーバにログインしたり、
ついでにアレやコレやできるようにしてたのですが、
Shift+Ctrl+T
で、頑張ってタブをたくさん立ち上げて、それぞれのタブでスクリプト叩いてました。
最近、サービスにサーバを増強する案件があって、ただでさえ何十サーバーもあるのに、、、的な感じで。。
ちょっと調べると
gnome-terminal --tab
で、新しくターミナル立ち上げてタブが出現します。
複数のタブを立ち上げたかったら
gnome-terminal --tab --tab
にするとタブが2つ立ち上がります。
で、オプションみてたら、、
$ gnome-terminal --help-terminal-options 用法: gnome-terminal [オプション...] 端末のオプション (引数の先頭で --window や --tab を指定すると、すべてのタブやウィンドウに適用される): -e, --command 端末内でこのオプションに対する引数を実行する --profile=PROFILE-NAME 指定したプロファイルを使用する -t, --title=TITLE 端末のタイトルを指定する --working-directory=DIRNAME 作業用ディレクトリを指定する --zoom=ZOOM 端末の拡大率を指定する (1.0 = 標準サイズ)
コレって -e でコマンド指定できるじゃないですか!と。
ってことで、、、
gnome-terminal --tab -e "サーバ1にSSHでログイン" --tab -e "サーバ2にSSHでログイン" --tab -e "サーバ3にSSHでログイン"
ぬおぉ。。便利。。。
まぁCapistranoとか使ってこんな事しなくても、うまい事やれるようにすればイイのですが、
全サーバー入ってhogehogeしたい!って時あったらすこぶるおすすめです。
—
そいういえば、ついでに、、、
ローカル⇒サーバA⇒サーバB
みたいな感じで処理叩く時に、サーバB上で普通にexpectしてもダメだったので、
expect_tty “正規表現”
してからsendしてるんだけど、やけに待ち時間が長かったりするんですが、
そもそもexpectの仕掛け(っていうかtcl/tk?)がちゃんと分かってないのでアレなんですが、
制御する端末をサーバBに移してイイ感じにexpectとsendでやりくり出来ないのかな…。
—
ついでにその2、、、
gnome-terminalで開く端末の大きさが指定出来る。
↓のブログで知ったのですが、 –geometry 便利。
gnome-terminalのサイズの指定方法(http://project-p.jp/halt/?p=845)
売り上げランキング: 7192
コメント