반응형


tmux-1.6-1.el6.rf.x86_64.rpm




tmux 은, 한마디로 하나의 텔넷창에 여러 터미널을 실행할 수 있는 TTY 멀티플렉서 입니다.

 

tmux  에 대한 자세한 소개는 아래 두 블로거로 대신하구요

http://blog.outsider.ne.kr/699
http://nodeqa.com/nodejs_ref/99

 

간단한 명령어는 다음과 같습니다.  (기본키:Ctrl-b)

Ctrl-b  c : 새창 생성
Ctrl-b  d : 현재 클라이언트에서 떨어짐
Ctrl-b  l : 이전에 선택한 윈도우로 이동
Ctrl-b  n : 다음 윈도우로 이동
Ctrl-b  p : 이전 윈도우로 이동
Ctrl-b  w : 윈도우의 리스트를 보여주고 번호를 입력하면 이동
Ctrl-b  윈도우번호 : 해당 윈도우로 이동
Ctrl-b  & : 현재 윈도우를 종료
Ctrl-b  , : 현재 윈도우의 이름 변경

Ctrl-b  % : 세로로 2개 Pane으로 분할
Ctrl-b  " : 가로로 2개 Pane으로 분할
Ctrl-b  q : 팬 번호를 보여줌 (팬사이를 이동하는데 사용)

Ctrl-b  방향키 : 방향키 위치의 팬으로 이동
Ctrl-b  <alt>-방향키 : 현재 팬의 사이즈를 조정
Ctrl-b  <스페이스> : 팬의 레이아웃 변경

■ 적용사례

 



 

 

■ 설치

 

mkdir /usr1/mysql/dba/tools/tmux

cd /usr1/mysql/dba/tools/tmux

 

sudo su -

cd /usr1/mysql/dba/tools/tmux

wget http://pkgs.repoforge.org/tmux/tmux-1.6-1.el6.rf.x86_64.rpm

rpm -ivh tmux-1.6-1.el6.rf.x86_64.rpm

exit

 

 

■ 스크립트 샘플

 

cmd1_mon : 모니터링 (1)

cmd2_mon : 모니터링 (2)

cmd_list    : 커맨드라인

tmux_1by3 : 왼쪽1:오른쪽3 윈도우 실행 템플릿
tmux_3by3 : 왼쪽3:오른쪽3 윈도우 실행 템플릿

 

 

cd /usr1/mysql/dba/tools

 

vi cmd1_mon
========================================================
#!/bin/sh

TITLE="DB Monitoring"
L_TOP="sh /usr1/mysql/dba/tools/chk_qps.sh"
L_MID="iostat -dmx 1"
L_MID2="vmstat 1"
L_MID3="sh /usr1/mysql/dba/tools/chk_lock.sh"
L_BOT=""

R_TOP=""
R_MID="nmon"
R_BOT="vmstat 1"

tmux new-session  -d -s "${TITLE}" "${L_TOP}"
tmux split-window -v -p 80 "${L_MID}"

tmux selectp -t 0
tmux split-window -h -p 30 "${R_TOP}"

tmux selectp -t 2
tmux split-window -h -p 50 "${R_MID}"

tmux selectp -t 2
tmux split-window -v -p 70 "${L_MID2}"
tmux split-window -v -p 70 "${L_MID3}"
tmux split-window -v -p 50 "${L_BOT}"

tmux -2 attach-session -d
========================================================

 

 

vi cmd2_mon
========================================================
#!/bin/sh

TITLE="DB Monitoring"
L_TOP="sh /usr1/mysql/dba/tools/chk_pp.sh"
L_MID=""
L_MID2="vmstat 1"
L_MID3="sh /usr1/mysql/dba/tools/chk_lock.sh"
L_BOT=""

R_TOP=""
R_MID="vmstat 1"
R_BOT="iostat -dmx 1"

tmux new-session  -d -s "${TITLE}" "${L_TOP}"
tmux split-window -v -p 40 "${L_MID}"

tmux selectp -t 1
tmux split-window -h -p 50 "${R_MID}"
tmux split-window -v -p 50 "${R_BOT}"

tmux selectp -t 1

tmux -2 attach-session -d
========================================================


 

vi tmux_1by3
========================================================
#!/bin/sh

TITLE="[1by3]"
L_TOP=$1

R_TOP=$2
R_MID=$3
R_BOT=$4

tmux new-session  -d -s "${TITLE}" "${L_TOP}"
tmux split-window -h -p 50 "${R_TOP}"

tmux selectp -t 1
tmux split-window -v -p 60 "${R_MID}"
tmux split-window -v -p 50 "${R_BOT}"

tmux selectp -t 0

tmux -2 attach-session -d
========================================================

 


vi tmux_3by3
========================================================
#!/bin/sh

TITLE="[3x3]"
L_TOP=$1
L_MID=$2
L_BOT=$3

R_TOP=$4
R_MID=$5
R_BOT=$6

tmux new-session -d -s "${TITLE}" "${L_TOP}"
tmux split-window -h "${R_TOP}"
tmux selectp -t 0
tmux split-window -v -p 60 "${L_MID}"
tmux split-window -v -p 50 "${L_BOT}"
tmux selectp -t 3
tmux split-window -v -p 60 "${R_MID}"
tmux split-window -v -p 50 "${R_BOT}"

tmux selectp -t 0

tmux -2 attach-session -d
========================================================

 

 

vi cmd_list
========================================================
#!/bin/bash

function cmdList() {
echo "##########################################"
echo "###            Command List            ###"
echo "##########################################"
echo ""
echo "   1.Mon 1 (1by3 - Normal)"
echo "   2.Mon 2 (3by3 - Normal)"
echo "   3.Mon 2 (Processlist)"
echo "   4.Mon 3 (BMT)"
echo ""
echo "   0.exit"
echo ""
echo "##########################################"
}

source /usr1/mysql/dba/.env.ini

while true
do
   echo ;
   echo ;
   cmdList

   echo -n "[Input Number] : "
   read num

   case $num in
      1) /usr1/mysql/dba/tools/tmux/tmux_1by3 ""       "/usr1/mysql/dba/.cmd" "iostat -dmx 1" "vmstat 1"; exit; break;;
      2) /usr1/mysql/dba/tools/tmux/tmux_3by3 "" "" "" "/usr1/mysql/dba/.cmd" "iostat -dmx 1" "vmstat 1"; exit; break;;
      3) cmd="/usr1/mysql/dba/tools/tmux/cmd2_mon";                  break;;
      4) cmd="/usr1/mysql/dba/tools/tmux/cmd1_mon";                  break;;
      0) break;;
      *)
         echo "Wrong Number. Chekc Server Number.";;
   esac

done

#echo $cmd
$cmd
========================================================


출처 : http://cafe.naver.com/mysqlpg/667


반응형

+ Recent posts