tmux — 세션 유지 터미널

Linux / 원격 서버 접속 관리 / tmux.html

원격 서버 접속 관리원문등록 2026-10-18

💬 "tmux 명령어"

tmux는 서버에서 세션을 유지해 줍니다. ssh가 끊겨도 작업이 계속 돌아갑니다.

장시간 배포·배치·로그 추적을 안전하게 돌리는 표준 도구입니다.

  • 개념: 가상 터미널을 만들어 세션·창·분할을 관리합니다.
  • 세션: new로 만들고 attach로 다시 붙습니다.
  • 분할: " 세로 분할, % 가로 분할, 방향키로 이동합니다.
  • 접두키: 기본은 Ctrl+b이며 이후 키를 조합합니다.

자주 쓰는 옵션

옵션설명
new -s <이름>이름 있는 세션을 만듭니다
attach -t <이름>기존 세션에 다시 붙습니다
ls세션 목록을 봅니다
-d attach다른 클라이언트를 떼고 붙습니다

필수 명령어 조합 3가지

  • tmux new -s deploy — 배포용 세션 생성
  • tmux ls — 현재 세션 목록 확인
  • tmux attach -t deploy — 끊긴 뒤 배포 세션에 재접속

💬 "성능 테스트 전후 비교에 쓰는 예시 알려줘"

실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다.

1단계 · 세션 생성

작업 전에 이름 있는 세션을 만듭니다.

tmux new -s deploy

2단계 · 작업 실행

세션 안에서 오래 걸리는 작업을 시작합니다.

cd /opt/app && ./bin/deploy.sh 2>&1 | tee /tmp/deploy.log

3단계 · 분리 후 재접속

Ctrl+b d로 분리하고, 다시 붙어 진행 상황을 봅니다.

tmux attach -t deploy

실무에서는 이렇게 씁니다

1. 장시간 배포

상황 — 20분 걸리는 배포 중 ssh가 끊기면 작업이 죽습니다.

tmux new -s deploy 'bash -lc "./bin/deploy.sh 2>&1 | tee /tmp/deploy.log"'

결과 — 세션 안에서 배포가 진행되어 연결이 끊겨도 계속됩니다.

포인트 — 재접속 후 로그 파일을 tail로 보며 진행 상황을 확인합니다.

2. 장기 배치 모니터링

상황 — 밤새 도는 배치를 실시간으로 보고 싶습니다.

tmux new -s batch 'tail -F /var/log/app/batch.log'

결과 — 언제든 붙어서 로그를 볼 수 있고, 나가도 수집이 계속됩니다.

포인트 — 세션 이름을 작업별로 붙여두면 여러 작업을 구분하기 쉽습니다.

주의할 점

  • 명령을 인자로 주고 세션이 끝나면 tmux 세션도 종료됩니다(로그 파일을 남겨 확인).
  • 서버 재부팅 시 세션은 사라집니다. 영구 실행은 systemd 서비스로 구성합니다.
  • 접두키(Ctrl+b)를 모르면 키가 안 먹는 것처럼 보입니다.

실제 실행 화면

tmux 세션 목록을 확인하고 배포 세션에 재접속한 결과입니다.

tmux 명령어 실행 결과: 세션 목록과 배포 진행

실제 운영 중인 서버

이 문서는 화면 표시용 가상 디렉터리의 항목입니다. 실제 서버 파일시스템과 연결되지 않으며, 파일 실행이나 시스템 명령을 수행하지 않습니다.