watch — 반복 출력 관찰

Linux / 자동화 및 예약 작업 / watch.html

자동화 및 예약 작업원문등록 2026-10-18

💬 "watch 명령어"

watch는 명령을 주기적으로 다시 실행해 변화를 보여줍니다. 진행 상황 관찰에 편합니다.

기본 2초 간격이며 -n으로 조절합니다.

  • 개념: 명령 출력을 주기적으로 갱신해 표시합니다.
  • -n: 간격(초)을 지정합니다.
  • -d: 변경된 부분을 강조합니다.
  • 상단: 실행 중인 명령과 현재 시각이 표시됩니다.

자주 쓰는 옵션

옵션설명
-n <초>갱신 간격을 지정합니다
-d차이점을 강조합니다
-t상단 헤더를 숨깁니다
-g출력이 바뀌면 종료합니다(스크립트용)

필수 명령어 조합 3가지

  • watch -n 2 'ss -lntp | grep :443' — 443 포트 상태 관찰
  • watch -d -n 1 'df -h /var' — 디스크 사용률 변화 관찰
  • watch -n 5 'pgrep -c -f queue:work' — 워커 개수 변화 관찰

💬 "권한 없는 계정에서도 쓸 수 있는 예시 알려줘"

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

1단계 · 관찰 시작

확인하고 싶은 명령을 watch로 감쌉니다.

watch -n 2 'ss -lntp | grep :443'

2단계 · 변화 강조

-d로 달라진 부분을 강조합니다.

watch -d -n 1 'df -h /var'

3단계 · 종료

확인 후 Ctrl+C로 종료합니다.

Ctrl+C

실무에서는 이렇게 씁니다

1. 배포 중 연결 수 관찰

상황 — 배포 중 활성 연결이 어떻게 변하는지 보고 싶습니다.

watch -n 2 "ss -s | grep estab"

결과 — 활성 연결 수 변화를 실시간으로 확인합니다.

포인트 — 배포 전후 기준값을 비교해 급감/급증을 판단합니다.

2. 디스크 증가 추세 확인

상황 — 로그가 얼마나 빨리 차오르는지 알고 싶습니다.

watch -d -n 5 'df -h /var && du -sh /var/log/nginx'

결과 — 수치가 강조되어 증가 속도를 바로 체감합니다.

포인트 — 증가 속도로 로그 회전 주기를 결정합니다.

주의할 점

  • 간격이 너무 짧으면 부하가 될 수 있어 -n을 조절합니다.
  • watch 안의 명령은 셸을 거치므로 따옴표 처리를 주의합니다.
  • 자동화 판단에는 watch가 아니라 조건 검사 스크립트를 씁니다.

실제 실행 화면

2초 간격으로 TCP 연결 상태를 관찰한 결과입니다.

watch 명령어 실행 결과: 연결 상태 반복 관찰

실제 운영 중인 서버

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