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

使用Free命令监控系统内存

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


  1. free -m  
  2. (执行结果如下样式) 
  3. total used free shared buffers cached 
  4. Mem: 3952 3414 538 0 168 484 
  5. -/+ buffers/cache: 2760 1191 
  6. 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、编写内存监控的脚本文件:


  1. # vim /scripts/free-mem.sh 
  2.  
  3. #!/bin/bash  
  4. #使用free命令监控linux系统内存变化  
  5.  
  6. #取系统当前时间(以追加的方式写入文件>>)  
  7. date >> /scripts/datetime.txt  
  8.  
  9. #抓取物理内存free值(以追加的方式写入文件>>)  
  10. echo Mem-free: `free -m | grep Mem | awk '{print $4}'`M >> /scripts/mem-free.txt  
  11.  
  12. #抓取缓冲区的free值(以追加的方式写入文件>>)  
  13. echo buffers/cache-free: `free -m | grep – | awk '{print $4}'`M >> /scripts/buffers-free.txt  
  14.  
  15. #抓取Swap分区free值(以追加的方式写入文件>>)  
  16. echo Swap-free: `free -m | grep Swap | awk '{print $4}'`M >> /scripts/swap-free.txt  
  17.  
  18. #逐行连接上面的时间和内存相关行数据(每次重新写入文件>)  
  19. paste /scripts/datetime.txt /scripts/mem-free.txt /scripts/buffers-free.txt /scripts/swap-free.txt > /scripts/freemem.txt  
  20.  
  21. # chmod a+x /scripts/free-mem.sh 
  22. # /scripts/free-mem.sh 

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


  1. # cat /scripts/freemem.txt 

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


  1. # vim /scripts/sendmail-mem.sh 
  2.  
  3. #!/bin/bash  
  4. #把生成的freemem.txt文件通过邮件发送给用户  
  5.  
  6. #提取本服务器的IP地址信息  
  7. IP=`ifconfig eth0 | grep "inet addr" | cut -f 2 -d ":" | cut -f 1 -d " "`  
  8.  
  9. #提取当前日期时间  
  10. today=`date -d "0 day" +%Y年%m月%d日`  
  11.  
  12. #发送内存监控结果邮件  
  13. echo "这是$IP服务器$today的内存监控报告,请下载附件。" | mutt -s "$IP服务器$today内存监控报告" -a /scripts/freemem.txt test@126.com 
  14.  
  15. # chmod a+x /scripts/sendmail-mem.sh 
【声明】:芜湖站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章