웹사이트 검색

LFCA: Linux에서 기본 시스템 지표를 모니터링하는 방법 – 8부


이 기사는 LFCA 시리즈의 8부입니다. 이 부분에서는 Linux 시스템에서 기본 시스템 측정항목을 모니터링하고 관리 작업을 예약하기 위한 일반 시스템 관리 명령을 익히게 됩니다.

시스템 성능을 감시하는 것은 시스템 관리자로서 수행해야 할 중요한 역할 중 하나입니다. 물론, 시스템 메트릭을 모니터링하기 위한 Grafana 및 Nagios와 같은 오픈 소스 모니터링 도구가 충분합니다.

고맙게도 Linux는 CPU, 메모리 사용률, 실행 중인 프로세스 등 중요한 시스템 통계와 정보를 한 눈에 볼 수 있는 몇 가지 명령줄 유틸리티를 제공합니다.

기본 시스템 측정항목을 모니터링하는 데 도움이 되는 몇 가지 명령줄 도구를 간략하게 살펴보겠습니다.

1. 가동시간 명령

uptime 명령은 시스템 전원을 켠 이후 시스템이 실행된 기간을 제공합니다. 명령 옵션 없이 현재 시간, 시스템이 가동된 시간, 로그인한 사용자, 평균 부하량을 제공합니다.

uptime

-s 옵션을 사용하면 시스템 날짜와 시스템이 켜진 시간을 얻을 수 있습니다.

uptime -s

가동 시간만 얻으려면 -p 옵션을 사용하세요.

uptime -p

2. 자유 명령

시스템의 총 메모리와 사용 가능한 메모리 및 스왑 공간을 살펴보려면 다음과 같이 free 명령을 사용하십시오. -h 옵션은 사람이 읽을 수 있는 형식으로 출력을 인쇄합니다.

free -h

3. 최고 명령

top 명령은 두 가지 작업을 수행합니다. 즉, 실시간 시스템 메트릭에 대한 요약을 제공하고 Linux 커널에서 관리하는 현재 실행 중인 프로세스를 표시합니다.

실행 중인 프로세스를 표시하는 것 외에도 top 명령uptime에서 제공하는 출력과 맨 위에 있는 free 명령을 결합합니다.

top

top 명령의 개선 사항은 직관적이고 사람이 읽을 수 있는 형식으로 통계를 표시하는 htop 유틸리티입니다.

Linux에서는 다음 명령을 사용하여 htop을 설치할 수 있습니다.

sudo apt install htop  [On Debian-based]
sudo dnf install htop  [On RHEL-based]

htop을 시작하려면 다음 명령을 실행하세요.

htop

4. df 명령

이전에 기본 Linux 명령의 df(disk-free) 유틸리티에 대해 논의했습니다. df 명령은 파일 시스템당 하드 디스크 사용률에 대한 정보를 제공합니다. 정보를 사람이 읽을 수 있는 형식으로 인쇄하려면 -Th 플래그를 사용하세요.

df -Th

5. CPU 정보 보기

공급업체 ID, 프로세서 코어, 모델 이름 등과 같은 CPU 정보를 보려면 다음 명령을 실행하십시오.

cat /proc/cpuinfo

시스템 관리 작업 자동화

미리 정의된 시간에 수행되도록 작업을 예약하는 것은 모든 시스템 관리자가 보유해야 하는 핵심 기술 중 하나입니다. 백업 및 주기적인 재부팅과 같이 정기적으로 발생해야 하는 관리 작업을 예약할 수 있습니다.

Cron은 작업을 자동화하는 데 도움이 되는 시간 스케줄러입니다. cron 기능은 cron 데몬과 crontab이라는 구성을 읽는 테이블 세트로 구성됩니다. crontab은 실행될 작업을 설명합니다.

크론 작업을 생성하려면 먼저 해당 아키텍처를 이해해야 합니다. 크론 작업은 실행될 명령이나 스크립트가 뒤따르는 5개의 필드로 구성됩니다. 다음은 크론 작업의 다양한 분야를 도식적으로 표현한 것입니다.

cron 예제와 해석을 살펴보겠습니다.

0	12	*	*	*   <command>   Executes a task daily  at noon
30	06	*	*	*   <command>   Executes a task daily  at 6:30 am 
30      *	*	*	*   <command>   Executes a task  every 30 minutes
0	0	*	*	*   <command>   Executes a task  at midnight 
30	06	*	* 	5   <command>  Executes a task at 6:30 am every Fri
*	* 	*	* 	*   <command>  Executes a task every minute
0	0	1	* 	*   <command>  Executes a task at midnight on the first day of every month
0	3 	*	* 	Mon-fri   <command> Executes a task at 3:00am on every day of the week from Monday to Friday.

이제 크론 작업을 생성해 보겠습니다.

먼저 /home/tecmint/Downloads에 있는 다운로드 폴더를 /home/documents 디렉터리에 백업하는 백업 스크립트를 생성하겠습니다.

vim 편집기를 사용하여 그림과 같이 스크립트 파일을 만들고 엽니다.

vim backup.sh

쉘 스크립트의 시작을 표시하기 위해 맨 위에 있는 shebang 헤더로 시작하겠습니다.

#!/bin/bash

디렉터리 폴더를 백업하는 명령은 다음과 같습니다.

tar -cvf /home/tecmint/Documents/downloads.tar.gz /home/tecmint/Downloads

첫 번째 경로는 downloads.tar.gz인 백업 파일의 전체 경로를 나타내고, 두 번째 경로는 백업할 디렉터리의 경로를 나타냅니다.

ESC를 눌러 파일을 저장한 다음 :wq를 입력하고 ENTER를 누릅니다.

그런 다음 백업 스크립트에 실행 권한을 할당합니다. 이는 cron 유틸리티가 스크립트를 실행할 수 있도록 하기 위해 필요합니다.

chmod +x backup.sh

스크립트를 실행하기 위한 크론 작업을 생성하려면 다음 명령어를 실행하세요.

crontab -e

매일 14시 30분에 백업 스크립트를 실행하도록 cron 작업을 다음과 같이 정의합니다.

30 14 * * * /home/tecmint/backup.sh

ESC를 눌러 파일을 저장한 다음 :wq를 입력하고 ENTER를 누릅니다. 파일을 종료하면 cron 작업이 초기화되었음을 암시하는 crontab: 새 crontab 설치 메시지가 표시됩니다.

현재 크론 작업을 나열하려면 다음 명령을 실행하세요.

crontab -l

따라서 백업 작업을 위해 cron 작업은 시계가 14시 30분에 도달했을 때 'Documents' 디렉터리에 'Downloads' 디렉터리의 압축 파일을 성공적으로 생성했습니다.

ls Documents/

크론 작업을 더 이상 원하지 않으면 다음 명령을 사용하여 삭제할 수 있습니다.

crontab -r
결론

재고 조사 등 시스템 관리자가 매일 수행하는 몇 가지 다른 작업이 있습니다.