LFCA: 如何在Linux中监视基本系统指标 – 第8部分

這篇文章是第8部分LFCA系列,在這一部分中,您將熟悉用於監控基本系統指標和安排管理任務的一般系統管理命令。

監控系統性能是您作為系統管理員必須承擔的關鍵角色之一。當然,有足夠多的開源監控工具,如GrafanaNagios,用於監控系統指標。

感謝 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命令執行兩項任務:提供實時系統指標摘要和顯示當前由Linux內核管理的運行進程。

除了顯示運行進程外,top命令還結合了由uptimefree命令提供的輸出,該輸出位於頂部。

$ top
Check Linux Running Processes

top命令的改進是htop實用程序,它以直觀且易讀的格式顯示統計信息。

在Linux上,您可以使用以下命令安裝htop

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

要啟動htop,只需運行以下命令:

$ htop
htop – an interactive process viewer

4. df命令

我們先前討論了基本的Linux命令中的df (disk-free) 工具df 命令提供每個文件系統的硬碟使用情況資訊。 使用-Th標誌以人類可讀格式打印資訊。

$ df -Th
Check Linux Disk Usage

5. 查看CPU資訊

要查看CPU資訊,例如供應商ID、處理器核心、型號名稱等,運行命令:

$ cat /proc/cpuinfo
Check Linux Cpu Info

自動化系統管理任務

安排任務或工作在預定的時間進行是任何系統管理員都應該具備的核心技能之一。您可能希望安排需要定期執行的管理任務,例如備份和定期重新啟動。

Cron是一個時間計劃器,可幫助自動化任務。 cron設施包括cron守護程序和一組配置表,它從其中讀取配置,稱為crontab。 crontab描述要執行的任務。

要創建cron作業,我們必須首先了解其架構。 cron作業包括五個字段,後跟要執行的命令或腳本。 這是cron作業各個字段的圖解表示。

Cron Architecture

現在讓我們探索一些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.

現在讓我們創建一個cron作業。

首先,我們將創建一個備份腳本,將我們的下載文件夾備份到 /home/tecmint/Downloads/home/documents 目錄。

使用 vim 編輯器,我們將創建並打開腳本文件如下所示。

$ vim backup.sh

我們將從頂部開始添加一個 shebang 標頭,標記 shell 腳本的開始

#!/bin/bash

備份目錄文件夾的命令如下所示。

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

第一個路徑代表備份文件的完整路徑,即 downloads.tar.gz,而第二個路徑指向要備份的目錄的路徑。

ESC 鍵,然後輸入 :wq 並按 ENTER 保存文件。

接下來,為備份腳本分配執行權限。這是必要的,以便 cron 實用程序可以執行該腳本。

$ chmod +x backup.sh

要創建一個運行腳本的 cron 作業,運行以下命令:

$ crontab -e

我們將定義 cron 作業以在每天的 14:30 HRS 執行備份腳本如下

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 HRS 時成功在 ‘ Downloads ‘ 目錄中創建了一個壓縮文件,存儲在 ‘ Documents ‘ 目錄中。

$ ls Documents/
Verify Backup

如果您不再需要定期工作,您可以使用以下命令删除它:

$ crontab -r
結論

系統管理員每天執行的其他任務還有許多,例如盤點等。

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