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

这篇文章是第8部分LFCA系列,在这一部分中,您将了解Linux系统中用于监视基本系统指标和安排管理任务的一般系统管理命令。

密切关注系统性能是您作为系统管理员必须承担的关键角色之一。当然,有足够的开源监控工具,如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(磁盘空闲)实用程序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作业。

首先,我们将创建一个备份脚本,将我们的 Downloads 文件夹备份到 /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/