LFCA: 리눅스에서 기본 시스템 메트릭 모니터링하는 방법 – 파트 8

이 기사는 파트 8LFCA 시리즈의 일부입니다. 이 파트에서는 리눅스 시스템에서 기본 시스템 메트릭을 모니터링하고 관리 작업을 예약하는 일반 시스템 관리 명령어에 익숙해질 것입니다.

시스템의 성능을 확인하는 것은 시스템 관리자로서 맡게 될 중요한 역할 중 하나입니다. 물론 오픈 소스 모니터링 도구그라파나나기오스와 같은 충분한 도구들이 시스템 메트릭을 모니터링하기 위해 있습니다.

감사하게도, Linux는 일부 명령줄 유틸리티를 제공하여 CPU 및 메모리 사용량실행 중인 프로세스와 같은 중요한 시스템 통계 및 정보를 확인할 수 있게 합니다.

간단히 기본 시스템 메트릭을 모니터링하는 데 도움이 되는 일부 명령줄 도구를 살펴보겠습니다:

1. uptime 명령어

uptime 명령어는 시스템이 전원을 켠 이후 실행된 기간을 제공합니다. 명령 옵션이 없으면 현재 시간, 시스템이 켜진 시간, 로그인한 사용자 및 부하 평균을 제공합니다.

$ uptime

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

$ uptime -s

오직 업타임만 얻으려면 -p 옵션을 사용하세요

$ uptime -p
Check Linux System Uptime

2. free 명령어

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

$ free -h
Check Linux Memory Usage

3. top 명령어

top 명령어는 두 가지 작업을 수행합니다: 실시간 시스템 메트릭스의 요약을 제공하고 리눅스 커널에 의해 관리되는 현재 실행 중인 프로세스를 표시합니다.

실행 중인 프로세스를 표시하는 것 외에도, top 명령어는 맨 위에 위치한 uptimefree 명령어가 제공하는 출력을 결합합니다.

$ top
Check Linux Running Processes

top 명령어의 개선된 버전은 통계를 직관적이고 사람이 읽기 쉬운 형식으로 표시하는 htop 유틸리티입니다.

리눅스에서는 htop을 다음 명령어를 사용하여 설치할 수 있습니다:

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

htop을 실행하려면 간단히 다음 명령어를 실행하십시오:

$ htop
htop – an interactive process viewer

4. df 명령어

이전에 우리는 기본적인 리눅스 명령어에서 df (disk-free) 유틸리티에 대해 논의했습니다. df 명령어는 파일 시스템별 하드 디스크 이용률 정보를 제공합니다. 정보를 인간이 이해할 수 있는 형식으로 출력하려면 -Th 플래그를 사용하십시오.

$ df -Th
Check Linux Disk Usage

5. CPU 정보 보기

벤더 ID, 프로세서 코어, 모델 이름 등 CPU 정보를 보려면 다음 명령을 실행하십시오:

$ cat /proc/cpuinfo
Check Linux Cpu Info

시스템 관리 작업 자동화

일정화된 작업 또는 작업을 미리 정의된 시간에 수행하는 것은 시스템 관리자가 가져야 할 핵심 기술 중 하나입니다. 정기적으로 필요한 백업 및 주기적인 재부팅과 같은 관리 작업을 예약하고 싶을 수 있습니다.

Cron은 작업을 자동화하는 데 도움이 되는 시간 스케줄러입니다. cron 시설은 cron 데몬과 그 구성을 읽는 일련의 테이블인 crontab으로 구성됩니다. crontab은 실행할 작업을 설명합니다.

크론 작업을 만들려면 먼저 그 아키텍처를 이해해야 합니다. 크론 작업은 다섯 가지 필드로 구성되어 있으며 그 뒤에 실행할 명령 또는 스크립트가 따릅니다. 크론 작업의 다양한 필드를 다이어그램으로 나타낸 것입니다.

Cron Architecture

일부 크론 예제와 그 해석을 살펴보겠습니다:

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

먼저 쉘 스크립트의 시작을 나타내는 해시뱅 헤더로 시작하겠습니다.

#!/bin/bash

디렉토리 폴더를 백업하는 명령어는 아래와 같습니다.

tar -cvf /home/tecmint/Documents/downloads.tar.gz /home/tecmint/Downloads
File Backup Script

첫 번째 경로는 백업 파일의 전체 경로를 나타내는 것이며, 두 번째 경로는 백업할 디렉토리의 경로를 가리킵니다.

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

다음으로, 백업 스크립트에 실행 권한을 할당하겠습니다. 이것은 cron 유틸리티가 스크립트를 실행할 수 있도록 필요합니다.

$ chmod +x backup.sh

스크립트를 실행하는 cron 작업을 만들려면 다음 명령을 실행하십시오:

$ crontab -e

우리는 매일 오후 2시 30분에 백업 스크립트를 실행하도록 cron 작업을 정의하겠습니다.

30 14 * * * /home/tecmint/backup.sh
Create Cron Job in Linux

파일을 저장하려면 ESC를 누르고 :wq를 입력한 다음 ENTER를 누르십시오. 파일에서 나오면 crontab: installing a new crontab라는 프롬프트가 나타나면 cron 작업이 초기화되었음을 의미합니다.

Cron Job Added Succesfully

현재 cron 작업을 나열하려면 다음 명령을 실행하십시오:

$ crontab -l
List Cron Jobs

따라서 백업 작업에 대해 cron 작업이 시간이 14시 30분이 되면 ‘다운로드’ 디렉토리의 압축 파일을 ‘문서’ 디렉토리에 성공적으로 생성했습니다.

$ ls Documents/
Verify Backup

만약 크론 작업을 더 이상 원하지 않는다면, 다음 명령을 사용하여 삭제할 수 있습니다:

$ crontab -r
결론

시스템 관리자가 일상적으로 수행하는 다른 작업들이 있습니다. 예를 들어, 인벤토리 관리 등이 있습니다.

Source:
https://www.tecmint.com/monitor-basic-system-metrics-in-linux/