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(无磁盘)实用程序。 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/howtoing/Downloads 中的 Downloads 文件夹备份到 /home/documents 目录。
使用 vim 编辑器,我们将创建并打开脚本文件,如图所示。
vim backup.sh
我们将从最顶部的 shebang 标头开始,以标记 shell 脚本的开始
#!/bin/bash
备份目录文件夹的命令如下所示。
tar -cvf /home/tecmint/Documents/downloads.tar.gz /home/tecmint/Downloads
第一个路径表示备份文件的完整路径,即downloads.tar.gz,而第二个路径则指向要备份的目录的路径。
按 ESC 保存文件,然后输入 :wq
并按 ENTER。
接下来,为备份脚本分配执行权限。这是 cron 实用程序可以执行脚本所必需的。
chmod +x backup.sh
要创建 cron 作业来执行脚本,请运行以下命令:
crontab -e
我们将定义 cron 作业以在每天 14:30 HRS 运行备份脚本,如下所示
30 14 * * * /home/tecmint/backup.sh
按 ESC 保存文件,然后输入 :wq
并按 ENTER。一旦退出该文件,您将得到提示crontab:安装新的crontab,这意味着cron作业已经初始化。
要列出当前的 cron 作业,请运行以下命令:
crontab -l
因此,对于我们的备份任务,当时钟敲响 14:30 HRS 时,cron 作业成功地在“Documents”目录中创建了“Downloads”目录的压缩文件。
ls Documents/
如果您不再需要某个 cron 作业,可以使用以下命令将其删除:
crontab -r
结论
系统管理员每天还要执行其他几项任务,例如盘点等等。