[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