【Shell编程练习】监控内存和磁盘容量,小于给定值时报警

news2024/12/25 9:17:00

系列文章目录

输出Hello World
通过位置变量创建 Linux 系统账户及密码


  • 系列文章目录
  • 分析
  • 代码实现
  • 运行结果


分析

对于磁盘容量,可以使用df命令查看指定指定分区的磁盘使用情况。比如
在这里插入图片描述

然后我们需要从这段输出中提取我们想要的信息。在这里就是Available字段的值。我们使用awk来完成:df / | awk '/\//{print $4}’。其中这个 awk 命令的作用是在输入中查找包含斜杠(/)的行,并打印这些行的第四个字段。

在这里插入图片描述

对于内存的使用情况,可以使用free命令:

在这里插入图片描述

  • total: 总物理内存。
  • used: 已经被使用的物理内存。
  • free: 空闲的物理内存。
  • shared: 多个进程共享使用的内存。
  • buff/cache: 用于缓存的内存,包括文件缓存和用于内核的缓冲区。
  • available: 可用内存,表示系统可以立即分配给进程或用于缓存的内存。

同样,我们使用awk命令提取想要的信息:free | awk '/Mem/{print $4}',这个命令是通过匹配包含字符串 “Mem” 的行,并打印该行的第四个字段,即空闲内存的大小。

在这里插入图片描述

至于给指定用户发送邮件,可以使用mail命令。比如 echo "这是邮件正文" | mail -s "邮件主题" recipient@example.com。这个例子中,echo 命令用于创建邮件正文,-s 选项用于指定邮件主题,而 recipient@example.com 是收件人的电子邮件地址。


代码实现

#! /bin/bash

# 该脚本实现的功能:实时监控本机内存和硬盘剩余空间 ,剩余内存小于500M、
# 根分区剩余空间小于1000M时,发送报警邮件给 root管理员

# 提取根分区剩余空间
disk_size=$(df / | awk '/\//{print $4}')

# 提取内存剩余空间
mem_size=$(free | awk '/Mem/{print $4}')

while :
do
# 注意内存和磁盘提取的空间大小都是以 Kb 为单位
if [ $disk_size -lt 512000 ] && [ $men_size -lt 1024000 ]
then
        mail -s "Warning" root <<EOF
                资源不足
EOF
fi
done


运行结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1343721.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue3-31-路由-RouterView的name属性的作用

作用描述 <router-view> 标签是用来渲染路由对应的组件的位置&#xff1b; 默认情况下&#xff0c;一个路由是只对应一个组件的。 但是&#xff0c;可以通过给 <router-view> 指定 name 属性的方式&#xff0c;实现同时渲染多个组件的效果。 这也叫做 命名视图。 注…

【网络安全 | Misc】Training-Stegano-1

该题考察winhex工具使用 打开文件&#xff1a; 使用StegSolve并不能获取有效信息 使用winhex得到flag steganoI

RabbitMQ消息存储JSON格式反序列化

如果发送消息消息体为实体类对象数据&#xff0c;交换机接收消息经由路由键发送给队列。需要实现数据反序列化操作。实现JSON格式的反序列化操作 Rabbitmq的反序列化接口 MessageConverter&#xff0c;它的实现类有 Jackson2JsonMessageConverter的反序列化实现类&#xff0c…

Windows Sockets 2 笔记

文章目录 一、Winsock简介二、Windows中Winsock对网络协议支持的情况三、使用Winsock3.1 关于服务器和客户端3.2 创建基本Winsock应用程序3.3 初始化Winscok3.3.1 初始化步骤3.3.2 初始化的核心代码3.3.3 WSAStartup函数的协调3.3.4 WSACleanup函数3.3.5 初始化的完整代码 3.4 …

贪心算法Part01 455分发饼干

455分发饼干 376摆动序列 53 最大子数组和

共享单车之数据存储

文章目录 第1关&#xff1a;获取工作簿中的数据第2关&#xff1a;保存共享单车数据 第1关&#xff1a;获取工作簿中的数据 相关知识 获取工作簿中的信息&#xff0c;我们可以使用Java POI&#xff08;POI是一个提供API给Java程序对Microsoft Office格式档案读和写的功能&#…

使用Jenkins和单个模板部署多个Kubernetes组件

前言 在持续集成和部署中&#xff0c;我们通常需要部署多个实例或组件到Kubernetes集群中。通过Jenkins的管道脚本&#xff0c;我们可以自动化这个过程。在本文中&#xff0c;我将演示如何使用Jenkins Pipeline及单个YAML模板文件&#xff08;.tpl&#xff09;来部署多个类似的…

uni-appcss语法

锋哥原创的uni-app视频教程&#xff1a; 2023版uniapp从入门到上天视频教程(Java后端无废话版)&#xff0c;火爆更新中..._哔哩哔哩_bilibili2023版uniapp从入门到上天视频教程(Java后端无废话版)&#xff0c;火爆更新中...共计23条视频&#xff0c;包括&#xff1a;第1讲 uni…

【超图】SuperMap iClient3D for WebGL/WebGPU —— 坐标系位置 —— Cartesian2

作者&#xff1a;taco 说到关于地理必然逃不开位置的关系。借用百度百科的内容来说地理学&#xff08;geography&#xff09;&#xff0c;是研究地球表层空间地理要素或者地理综合体空间分布规律、时间演变过程和区域特征的一门学科。所以位置&坐标系必然逃不掉了。那么在S…

Vue2 - v-model 简介

目录 1&#xff0c;原理1.1&#xff0c;作用于表单元素1.2&#xff0c;作用于自定义组件 2&#xff0c;编译结果展示2.2&#xff0c;表单元素2.1&#xff0c;自定义组件 1&#xff0c;原理 官网参考 v-model 是一个语法糖&#xff0c;最终会生成一个属性和一个事件。并且即可…

OpenCV数字图像处理——基于目标边缘适用于目标部分遮挡或不同光照模板匹配

简介 模板匹配是一种常见的计算机视觉问题&#xff0c;通常用于在一张图像中查找特定的模板图像。在处理模板匹配时&#xff0c;经常会面临对象的姿态未知的情况&#xff0c;其中姿态包括位置&#xff08;X&#xff0c;Y坐标&#xff09;和旋转角度&#xff08;θ&#xff09;…

RIP路由协议配置实验

实验目的&#xff1a; &#xff08;1&#xff09;理解RIP路由的原理&#xff1b; &#xff08;2&#xff09;掌握RIP路由的配置方法 实验器材&#xff1a; Cisco packet 实验内容&#xff1a; 实验步骤&#xff1a; &#xff08;1&#xff09;布置拓扑&#xff1a; &…

新品出击 | 软网关BLIoTLink免费发布

新品出击|软网关BLIoTLink免费发布 BLIoTLink是一款免费的物联网协议转换软件&#xff0c;可以部署在任何基于Linux OS的系统&#xff08;Linux、Debian、Ubuntu、FreeRTOS、RT-Thread&#xff09;中&#xff0c;使用灵活&#xff0c;可以实现数据的采集以及接入网络平台。 BL…

关于 K8s 的一些基础概念整理

〇、前言 Kubernetes&#xff0c;将中间八个字母用数字 8 替换掉简称 k8s&#xff0c;是一个开源的容器集群管理系统&#xff0c;由谷歌开发并维护。它为跨主机的容器化应用提供资源调度、服务发现、高可用管理和弹性伸缩等功能。 下面简单列一下 k8s 的几个特性&#xff1a; 自…

PostgreSQL 作为向量数据库:入门和扩展

PostgreSQL 拥有丰富的扩展和解决方案生态系统&#xff0c;使我们能够将该数据库用于通用人工智能应用程序。本指南将引导您完成使用 PostgreSQL 作为向量数据库构建生成式 AI 应用程序所需的步骤。 我们将从pgvector 扩展开始&#xff0c;它使 Postgres 具有特定于向量数据库…

基于js和html的骰子游戏

介绍&#xff1a; 1.游戏者选择“大”时&#xff0c;三个骰子点数之和为11-18时&#xff0c;游戏者获胜。2.游戏者选择“小”时&#xff0c;三个骰子点数之和为3-10时&#xff0c;游戏者获胜。3.如果游戏者选择具体点数&#xff0c;则根据三个骰子的点数计算&#xff0c;如果与…

【Linux系统编程二十五】:线程概念(Linux中的轻量级进程)

【Linux系统编程二十五】&#xff1a;线程概念(Linux中的轻量级进程&#xff09; 一.线程的概念1.地址空间是资源窗口 二.线程初步理解1.进程执行分支(内部运行)2.执行粒度更细3.重构进程概念&#xff1a;系统资源分配的基本实体4.重构线程概念&#xff1a;系统调度的基本单位5…

TCP/IP的网络层(即IP层)之IP地址和网络掩码,在视频监控系统中的配置和应用

在给客户讲解我们的AS-V1000视频监控平台的时候&#xff0c;有的客户经常会配置错误IP地址的掩码和网关&#xff0c;导致出现一些网路问题。而在视频监控系统中&#xff0c;IP地址和子网掩码是用于标识网络中设备的重要标识符。IP地址被用来唯一地标识一个网络设备&#xff0c;…

ubuntu下编译obs-studio遇到的问题记录

参考的是这篇文档&#xff1a;Build Instructions For Linux obsproject/obs-studio Wiki GitHub 在安装OBS dependencies时&#xff0c; sudo apt install libavcodec-dev libavdevice-dev libavfilter-dev libavformat-dev libavutil-dev libswresample-dev libswscale-d…

如何在 NAS 上安装 ONLYOFFICE 文档?

文章作者&#xff1a;ajun 导览 ONLYOFFICE 文档 是一款开源办公套件&#xff0c;其是包含文本文档、电子表格、演示文稿、表单、PDF 查看器和转换工具的协作性编辑工具。它高度兼容微软 Office 格式&#xff0c;包括 .docx、.xlsx 、.pptx 、pdf等文件格式&#xff0c;并支持…