zoukankan      html  css  js  c++  java
  • shell:linux系统性能参数监控并利用maill发送至邮箱

    意义:

      每天定时将服务器系统参数发送至管理员邮箱,便于管理员对于系统性能的把控,减少登录系统再使用命令的繁琐步骤。

    shell监控脚本:

     1 #!/bin/bash
     2 hostip=`ifconfig ens160 | grep inet | awk 'NR==1{print $2}'`
     3 cpu_usage=$(echo "100-`top -n1 | awk 'NR==3{print $8}'`"|bc)
     4 mem_total=`free -h |awk '/Mem:/{print $2}'`
     5 mem_used=`free -m |awk '/Mem:/{print $3+$6}'`
     6 mem_free=`free -h |awk '/Mem:/{print $4}'`
     7 mem_rate=$(echo "scale=2;$mem_used *100/ `free -m |awk '/Mem:/{print $2}'`"|bc)
     8 disk_total=`df -h / | tail -n 1 | awk '{ print $2}'`
     9 disk_used=`df -h / | tail -n 1 | awk '{ print $3}'`
    10 disk_free=`df -h / | tail -n 1 | awk '{ print $4}'`
    11 disk_rate=`df -h / | tail -n 1 | awk '{ print $5}'`
    12 
    13 echo -e "
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^"
    14 echo -e "***主机$(hostname)系统监控数据***"
    15 echo "[$hostip]"
    16 echo "$(date)"
    17 echo -e "----------------------------"
    18 echo -e "
    |=-> cpu利用率:$cpu_usage%"
    19 echo -e "
    |=-> 内存利用率:$mem_rate%      总内存:$mem_total       已使用内存(包含buff/cache): $mem_used M   空闲内存:$mem_free"
    20 echo -e "
    |=-> 磁盘利用率:$disk_rate       磁盘总空间:$disk_total            已使用磁盘空间: $disk_used           空闲磁盘空间:$disk_free"
    21 echo -e '''
    22 ----------------------
    23 Powered by: 73号弓箭手
    24 Copyright © Cooper_73
    25 ----------------------
    26 '''

    脚本执行效果:

     

    发送至邮箱:

      利用linux系统的mail发送邮件:

      配置mail:/etc/mail.rc

    1 设置发件人地址、SMTP 服务器、发件人邮箱名、密码、
    2 set from=xxx@qq.com
    3 set smtp=smtp.qq.com
    4 set smtp-auth-user=xxx@qq.com
    5 set smtp-auth-password=xxxxx
    6 set smtp-auth=login

    注意:使用QQ邮箱时,由于腾讯安全限制,密码需要使用授权码(在qq邮箱设置中获取授权码),企业邮箱无此限制,直接使用邮箱密码。

    配置定时任务:

    1  ./linux_system_monitor.sh | mail -s "Linux_System_Monitor-Report-$(date)" mail@mail.com.cn 

    触发定时任务验证:

  • 相关阅读:
    Maven相关知识片
    fastjson使用
    Block pool ID needed, but service not yet registered with NN java.lang.Exception: trace 异常解决
    JVM之内存结构详解
    ContextCleaner ——Spark 应用程序的垃圾回收器
    重新认识Java 8的HashMap
    HDFS NameNode内存全景
    HDFS的NameNode与SecondaryNameNode的工作原理
    大数据——基础知识
    HDFS数据定期清理
  • 原文地址:https://www.cnblogs.com/cooper-73/p/10155624.html
Copyright © 2011-2022 走看看