加入收藏 | 设为首页 | 会员中心 | 我要投稿 沧州站长网 (https://www.0317zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

利用Shell脚本完善邮件监控Linux系统的内存

发布时间:2021-06-04 13:54:19 所属栏目:Linux 来源:互联网
导读:使用Free命令监控系统内存 1、使用free命令查看linux系统内存使用情况:(以M为单位) #free-m (执行结果如下样式) totalusedfreesharedbufferscached Mem:395234145380168484 -/+buffers/cache:27601191 Swap:8191868105 2、查看截取剩余内存free的数值命

使用Free命令监控系统内存

1、使用free命令查看linux系统内存使用情况:(以M为单位)

# free -m  

(执行结果如下样式) 

total used free shared buffers cached 

Mem: 3952 3414 538 0 168 484 

-/+ buffers/cache: 2760 1191 

Swap: 8191 86 8105 

2、查看截取剩余内存free的数值命令:

(1) 物理内存free值:# free -m | grep Mem | awk '{print $4}'(2) 缓冲区的free值:# free -m | grep - | awk '{print $4}'(3) Swap分区free值:# free -m | grep Swap | awk '{print $4}'

3、编写内存监控的脚本文件:

# vim /scripts/free-mem.sh 

 

#!/bin/bash  

#使用free命令监控linux系统内存变化  

 

#取系统当前时间(以追加的方式写入文件>>)  

date >> /scripts/date-time.txt  

 

#抓取物理内存free值(以追加的方式写入文件>>)  

echo Mem-free: `free -m | grep Mem | awk '{print $4}'`M >> /scripts/mem-free.txt  

 

#抓取缓冲区的free值(以追加的方式写入文件>>)  

echo buffers/cache-free: `free -m | grep - | awk '{print $4}'`M >> /scripts/buffers-free.txt  

 

#抓取Swap分区free值(以追加的方式写入文件>>)  

echo Swap-free: `free -m | grep Swap | awk '{print $4}'`M >> /scripts/swap-free.txt  

 

#逐行连接上面的时间和内存相关行数据(每次重新写入文件>)  

paste /scripts/date-time.txt /scripts/mem-free.txt /scripts/buffers-free.txt /scripts/swap-free.txt > /scripts/freemem.txt  

 

# chmod a+x /scripts/free-mem.sh 

# /scripts/free-mem.sh 

4、查看内存监控的结果文件:

# cat /scripts/freemem.txt 

5、编写free结果文件邮件发送脚本:

# vim /scripts/sendmail-mem.sh 

 

#!/bin/bash  

#把生成的freemem.txt文件通过邮件发送给用户  

 

#提取本服务器的IP地址信息  

IP=`ifconfig eth0 | grep "inet addr" | cut -f 2 -d ":" | cut -f 1 -d " "`  

 

#提取当前日期时间  

today=`date -d "0 day" +%Y年%m月%d日`  

 

#发送内存监控结果邮件  

echo "这是$IP服务器$today的内存监控报告,请下载附件。" | mutt -s "$IP服务器$today内存监控报告" -a /scripts/freemem.txt test@126.com 

 

# chmod a+x /scripts/sendmail-mem.sh 

(编辑:沧州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!