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
'연구개발 > MYSQL' 카테고리의 다른 글
MySQL INNODB Status Monitoring (0) | 2015.03.14 |
---|---|
show status를 통한 MySQL 상태 분석하기 (0) | 2015.03.13 |
임시테이블이 필요한 쿼리 ( using temporary ) (0) | 2015.03.09 |
innodb flush (0) | 2015.03.05 |
IN ( ) 절에 Multiple 인자값 넣어 조회 (ex. where id in (12, 34, 56) ) (0) | 2015.03.03 |