이 이해하기 쉽도록 위의 Bash 스크립트를 단계별로 설명해 드리겠습니다. 이 스크립트는 리눅스 시스템에서 실행될 때 다음과 같은 작업을 수행합니다:
1. 오늘 날짜를 가져와서 `TODAY_DATE` 변수에 저장합니다.
- `date` 명령어를 사용하여 오늘의 날짜를 `+%d` 형식으로 가져옵니다.
2. `sar` 명령어를 사용하여 오늘의 시스템 성능 통계 데이터가 저장된 파일 경로를 `SAR_FILE` 변수에 저장합니다.
- `${TODAY_DATE}`를 사용하여 오늘의 데이터 파일 이름을 생성합니다.
3. 1분 전의 시간을 계산하여 `BEFORE_1MIN` 변수에 저장합니다.
- `date` 명령어를 사용하여 현재 시간에서 1분을 뺀 시간을 계산합니다.
4. CPU 사용량을 `sar` 명령어를 통해 가져와서 `CPU_USED` 변수에 저장합니다.
- `sar` 명령어로 CPU 사용량 통계를 조회하고, 필요한 정보를 파싱하여 CPU 사용량을 추출합니다.
5. 1분, 5분 및 15분 간격의 부하 평균을 `sar` 명령어를 사용하여 가져와 각각 `LOAD_AVG_1MIN`, `LOAD_AVG_5MIN`, `LOAD_AVG_15MIN` 변수에 저장합니다.
- `sar` 명령어로 시스템 부하 평균 정보를 조회하고, 필요한 정보를 파싱하여 저장합니다.
6. 시스템 메모리 정보를 `/proc/meminfo` 파일과 `sar` 명령어를 사용하여 가져와 각각 `MEM_TOTAL`, `MEM_FREE`, `MEM_BUFFERS`, `MEM_CACHED` 변수에 저장합니다.
- `/proc/meminfo` 파일에서 총 메모리 용량 및 여러 메모리 관련 정보를 추출합니다.
- `sar` 명령어로 메모리 사용량 통계를 조회하고, 필요한 정보를 파싱하여 저장합니다.
7. 네트워크 트래픽 정보를 `sar` 명령어를 사용하여 가져와 `NET_IN_PPS`, `NET_OUT_PPS`, `NET_IN_BPS`, `NET_OUT_BPS` 변수에 저장합니다.
- `sar` 명령어로 네트워크 트래픽 통계 정보를 조회하고, 필요한 정보를 파싱하여 저장합니다.
이 스크립트는 시스템 성능 모니터링 및 데이터 수집을 자동화하기 위해 사용될 수 있으며, 각 변수에는 시스템 상태에 대한 정보가 저장됩니다. 이 정보는 이후에 보고서 생성, 경고 및 성능 향상을 위한 의사 결정에 사용될 수 있습니다.
이 이해하기 쉽도록 위의 Bash 스크립트를 단계별로 설명해 드리겠습니다. 이 스크립트는 리눅스 시스템에서 실행될 때 다음과 같은 작업을 수행합니다:
1. 오늘 날짜를 가져와서 `TODAY_DATE` 변수에 저장합니다.
- `date` 명령어를 사용하여 오늘의 날짜를 `+%d` 형식으로 가져옵니다.
2. `sar` 명령어를 사용하여 오늘의 시스템 성능 통계 데이터가 저장된 파일 경로를 `SAR_FILE` 변수에 저장합니다.
- `${TODAY_DATE}`를 사용하여 오늘의 데이터 파일 이름을 생성합니다.
3. 1분 전의 시간을 계산하여 `BEFORE_1MIN` 변수에 저장합니다.
- `date` 명령어를 사용하여 현재 시간에서 1분을 뺀 시간을 계산합니다.
4. CPU 사용량을 `sar` 명령어를 통해 가져와서 `CPU_USED` 변수에 저장합니다.
- `sar` 명령어로 CPU 사용량 통계를 조회하고, 필요한 정보를 파싱하여 CPU 사용량을 추출합니다.
5. 1분, 5분 및 15분 간격의 부하 평균을 `sar` 명령어를 사용하여 가져와 각각 `LOAD_AVG_1MIN`, `LOAD_AVG_5MIN`, `LOAD_AVG_15MIN` 변수에 저장합니다.
- `sar` 명령어로 시스템 부하 평균 정보를 조회하고, 필요한 정보를 파싱하여 저장합니다.
6. 시스템 메모리 정보를 `/proc/meminfo` 파일과 `sar` 명령어를 사용하여 가져와 각각 `MEM_TOTAL`, `MEM_FREE`, `MEM_BUFFERS`, `MEM_CACHED` 변수에 저장합니다.
- `/proc/meminfo` 파일에서 총 메모리 용량 및 여러 메모리 관련 정보를 추출합니다.
- `sar` 명령어로 메모리 사용량 통계를 조회하고, 필요한 정보를 파싱하여 저장합니다.
7. 네트워크 트래픽 정보를 `sar` 명령어를 사용하여 가져와 `NET_IN_PPS`, `NET_OUT_PPS`, `NET_IN_BPS`, `NET_OUT_BPS` 변수에 저장합니다.
- `sar` 명령어로 네트워크 트래픽 통계 정보를 조회하고, 필요한 정보를 파싱하여 저장합니다.
이 스크립트는 시스템 성능 모니터링 및 데이터 수집을 자동화하기 위해 사용될 수 있으며, 각 변수에는 시스템 상태에 대한 정보가 저장됩니다. 이 정보는 이후에 보고서 생성, 경고 및 성능 향상을 위한 의사 결정에 사용될 수 있습니다.