watch — 반복 출력 관찰
Linux / 자동화 및 예약 작업 / watch.html
💬 "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 연결 상태를 관찰한 결과입니다.

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