본문으로 건너뛰기

[L] watch 명령어를 사용한 시스템 모니터링 방법은 무엇인가요?

💡 요약 정리

  • watch 명령어는 프로그램을 정해진 간격으로 반복 실행하여 결과를 실시간으로 출력합니다.
  • 시간이 오래 걸리는 작업이나 주기적으로 값이 변하는 시스템 상태를 확인할 때 유용합니다.
  • 다양한 옵션을 통해 출력 주기, 변경 값 강조 등의 설정이 가능합니다.
  • 예제를 통해 uptime, loadavg, 아파치 프로세스 등의 실시간 모니터링 방법도 소개합니다.

watch 명령어는 주기적으로 실행한 프로그램 결과를 화면에 보여 주는 기능을 합니다.

시간이 오래 걸리는 작업이나 주기적인 모니터링이 필요한 작업 시 유용합니다.


1. 기본 사용법

[root@localhost]# watch --help
Usage: watch [-dhnv] [--differences[=cumulative]]
 [--help] [--interval=<n>] [--version] <command>
 -d, --differences[=cumulative]         highlight changes between updates
                                        (cumulative means highlighting is cumulative)
 -h, --help                              print a summary of the options
 -n, --interval=<seconds>               seconds to wait between updates
 -v, --version                           print the version number

기본 사용 방법은 다음과 같습니다:

[root@localhost]# watch [-d] [-n seconds] 'command'
  • 종료는 Ctrl + c 키를 누르면 됩니다.

2. 사용 예제

예제 1: 시스템 uptime 출력

실시간으로 바뀌는 시스템의 uptime 값을 화면에 계속 출력합니다. (1초 간격)

[root@localhost]# watch -d -n 1 'cat /proc/uptime'

결과 예시:

Every 1s: cat /proc/uptime         Mon Jan 23 15:09:28 2006

5285573.48 5257905.40

uptime과 loadavg를 한꺼번에 출력하는 방법:

[root@localhost]# watch 'cat /proc/{loadavg,uptime}'

예제 2: 아파치 프로세스 모니터링

아파치 프로세스를 주기적으로 모니터링하기:

[root@localhost]# watch -d -n 1 'ps -ef | grep httpd | grep -v grep'

예제 3: 복합 명령어 모니터링

여러 가지 명령어를 조합할 수도 있습니다.

  • 현재 접속한 사용자 출력
  • 디스크의 파티션별 사용량 출력
  • 최근 접속자 10줄 출력

명령어를 ;로 구분합니다. echo는 공백 줄 출력을 위한 용도입니다. 설정 간격: 2초

[root@localhost]# watch -d 'w; echo; df -k; echo; last -n 10'

참고 사항

  • -d 옵션은 명령어 결과 중 변경된 부분을 강조해서 보여줍니다.
  • -n 옵션을 이용해 갱신 간격(초 단위)을 설정할 수 있습니다.
  • Ctrl + c 를 누르면 반복 실행이 중단됩니다.

이 명령어는 시스템 관리 작업에서 매우 유용하며, 리눅스 서버 환경에서 실시간 정보 확인 시 널리 사용됩니다.

// Phase 2