반응형
1. 용도 : tmux(terminal multiplexer)을 이용한 다중 터미널, 다중 세션, 명령의 동시 처리, 다중 작업
2. git : https://github.com/greymd/tmux-xpanes
3. 설치
## CentOS 등 redhat 계열
$ sudo yum install https://github.com/greymd/tmux-xpanes/releases/download/v4.1.2/tmux-xpanes_v4.1.2.rpm
## 우분투 계열
# Install `add-apt-repository` command, if necessary.
$ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:greymd/tmux-xpanes
$ sudo apt update
$ sudo apt install tmux-xpanes
## 수동 설치
## tmux 설치 필요
# Download with wget
$ wget https://raw.githubusercontent.com/greymd/tmux-xpanes/v4.1.2/bin/xpanes -O ./xpanes
# Put it under PATH and make it executable.
$ sudo install -m 0755 xpanes /usr/local/bin/xpanes
4. 사용법
## 터미널 4 분할, 4개의 pane에 동일 작업 됨.
## 나올때는 exit
[root@xpane]# xpanes 1 2 3 4
## 다음과 같이 사용 할 수 도 있다.
[root@xpane]# xpanes {1..4}
## 동일 작업이 아닌 비동기 방식은 -d 옵션
[test@xpane]$ xpanes -d 1 2 3 4
## -c(command) 옵션을 사용하여 로그 분할 모니터링
[root@xpane]# xpanes -c "tail -f {}" /var/log/messages /var/log/maillog
## 원격지 ssh 동시 작업
## --ssh 옵션은 -o StrictHostKeyChecking=no openssh 옵션과 같다.
[root@xpane]# xpanes --ssh test@192.168.47.35 test@192.168.47.36 test@192.168.47.37
## 작업 로깅
[root@xpane]# xpanes --log=~/test.log -c "ssh {}" test@192.168.47.35 test@192.168.47.36 test@192.168.47.37
xpanes:Info: /root/test.log is created.
[exited]
[root@xpane]# ll
...
drwxr-xr-x 2 root root 162 Jul 9 10:08 test.log
[root@xpane]# cd test.log/
[root@xpane test.log]# ll
total 12
-rw-r--r-- 1 root root 873 Jul 9 10:09 test@192.168.47.35-1.log.2020-07-09_10-08-29
-rw-r--r-- 1 root root 986 Jul 9 10:09 test@192.168.47.36-1.log.2020-07-09_10-08-29
-rw-r--r-- 1 root root 873 Jul 9 10:09 test@192.168.47.37-1.log.2020-07-09_10-08-29
[root@xpane test.log]# vim test\@192.168.47.35-1.log.2020-07-09_10-08-29
## -x 옵션으로 pane에서 추가 pane 열기
[root@xpane test.log]# xpanes -d 1 2
[root@xpane test.log]# xpanes -x 3 4
## -e 옵션으로 각각의 pane에 작업 실행
[root@xpane test.log]# xpanes -e "top" "vmstat 1" "watch -n 1 free"
## -C(--cols) 옵션으로 행 개수 지정
[root@xpane test.log]# xpanes -C 1 -e "top" "vmstat 1" "watch -n 1 free"
## config를 이용한 호스트 관리
## rsa 키를 이용하여 접속 설정
[root@xpane .ssh]# pwd
/root/.ssh
[root@xpane .ssh]# cat config
Host <hostname>
user test
hostname 192.168.47.249
IdentityFile ~/.ssh/id_rsa
[root@xpane .ssh]# xpanes --ssh <hostname>
## config에 등록된 모든 호스트 접속
[root@xpane .ssh]# cat ~/.ssh/config | awk '$1=="Host"{print $2}' | xpanes ssh
## 다른 사용자와 세션 공유 하기
## test2 사용자가 세션 생성하고 /tmp/에 소켓 저장
[test2@xpane ~]$ xpanes -S /tmp/mysocket -e "top" "vmstat 1"
## root 사용자가 test2 세션을 공유 받고 수정도 가능함
[root@xpane .ssh]# tmux -S /tmp/mysocket attach
## 참고 : 소켓 파일은 세션을 만든 사용자의 소유 권한으로 만들어 지므로 권한에 유의
반응형
'OS > Linux' 카테고리의 다른 글
Ubuntu 12.04 Repository 변경 (0) | 2022.04.26 |
---|---|
Linux child process 중 cpu가 높은 pid 확인 방법 (0) | 2021.03.23 |
[LINUX] 실제 디스크 용량과 df 용량의 차이가 있은 경우 (0) | 2021.03.19 |
Linux wondershaper을 이용한 QOS 적용 (0) | 2021.03.18 |
[Linux] screen (0) | 2021.03.17 |