LFCA:如何在 Linux 中监控基本系统指标 - 第 8 部分
本文是LFCA 系列的第 8 部分,在本部分中,您将熟悉常规系统管理命令,以监视基本系统指标并安排 Linux 系统中的管理任务。
密切关注系统性能是系统管理员必须承担的重要职责之一。当然,有很多开源监控工具(如Grafana和Nagios)可用于监控系统指标。
值得庆幸的是,Linux 提供了一些命令行实用程序,使您能够浏览一些重要的系统统计数据和信息,例如CPU 和内存利用率以及正在运行的进程。
让我们简单了解一些可以帮助您监控基本系统指标的命令行工具:
1. uptime 命令
uptime 命令提供系统自启动以来运行的时间。它不使用任何命令选项,提供当前时间、系统启动时间、登录用户和平均负载。
$ uptime
通过该-s
选项,您可以获得系统的日期和系统开启的时间。
$ uptime -s
使用该-p
选项,仅获取正常运行时间
$ uptime -p
2. free 命令
要了解系统上的总内存和可用内存以及交换空间,请使用free 命令,如下所示。该-h
选项以人性化格式打印输出。
$ free -h
3. top 命令
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(无磁盘)实用程序。df命令提供有关每个文件系统的硬盘利用率的信息。使用该-Th
标志以人性化格式打印信息。
$ df -Th
5.查看CPU信息
要查看 CPU 信息(例如供应商 ID、处理器核心、型号名称等),请运行以下命令:
$ cat /proc/cpuinfo
自动化系统管理任务
安排任务或作业在预定时间执行是任何系统管理员都应具备的核心技能之一。您可能希望安排需要定期执行的管理任务,例如备份和定期重启。
Cron是一个帮助自动执行任务的时间调度程序。cron 工具包括 cron 守护程序和一组表(它从这些表读取其配置,称为 crontab )。crontab描述了要执行的任务。
要创建 cron 作业,我们必须首先了解其架构。cron 作业由五个字段组成,后面是要执行的命令或脚本。以下是 cron 作业各个字段的示意图。
让我们探索一些 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/example/Downloads 中的 Downloads 文件夹备份到/home/documents目录。
使用 vim 编辑器,我们将创建并打开脚本文件,如下所示。
$ vim backup.sh
我们将从最顶部的 shebang 标头开始,以标记 shell 脚本的开始
#!/bin/bash
备份目录文件夹的命令如下所示。
tar -cvf /home/example/Documents/downloads.tar.gz /home/example/Downloads
第一个路径代表备份文件的完整路径,即downloads.tar.gz,第二个路径指向要备份的目录的路径。
按ESC保存文件,然后输入:wq
并按ENTER。
接下来,为备份脚本分配执行权限。这是必要的,以便 cron 实用程序可以执行该脚本。
$ chmod +x backup.sh
要创建一个 cron 作业来执行脚本,请运行以下命令:
$ crontab -e
我们将定义 cron 作业以每天 14:30 运行备份脚本,如下所示
30 14 * * * /home/example/backup.sh
按ESC保存文件,然后键入:wq
并按ENTER。退出文件后,您将收到提示crontab:installing a new crontab,这意味着 cron 作业已初始化。
要列出当前的 cron 作业,请运行以下命令:
$ crontab -l
因此,对于我们的备份任务,一旦时钟敲响 14:30 点, cron 作业就会成功地在“ Documents ”目录中创建“ Downloads ”目录的压缩文件。
$ ls Documents/
如果你不再需要某个 cron 作业,你可以使用以下命令将其删除:
$ crontab -r
结论
系统管理员每天还执行一些其他任务,例如盘点库存等等。