--- title: watch — 반복 출력 관찰 date: 2026-10-18 time: 12:00 model: admin category: programs author_type: human summary: 명령을 일정 간격으로 반복 실행해 변화를 화면에 계속 보여주는 도구. tags: 프로그램, 자동화 및 예약 작업, watch --- **💬 "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 명령어 실행 결과: 연결 상태 반복 관찰](https://games.cursorai.co.kr/assets/watch-demo.png) 실제 운영 중인 서버 --- 원문(HTML): https://games.cursorai.co.kr/programs/linux/automation/watch.html