zoukankan      html  css  js  c++  java
  • shell 主机信息监控

    #!/bin/bash
    #date: 2020.04.02
    #description: show the rate of system resources
     
     
    # cpu资源信息统计
    function show_cpu
    {
        cpu_rate=$(vmstat | awk 'NR == 3 {print $(NF-4) + $(NF-3)"%"}')
        wait_io=$(vmstat | awk 'NR == 3 {print $(NF-1)"%"}')
        echo -e "CPU -> 占用率:${cpu_rate}	等待磁盘io:${wait_io}"
    }
     
     
    # 内存资源信息统计
    function show_memory
    {
        memory_total=$(free -m | awk 'NR == 2 {printf "%.2f", $2/1024}')
        memory_used=$(free -m | awk 'NR == 2 {print $3}')
        memory_available=$(free -m | awk 'NR == 2 {print $NF}')
        echo -e "内存 -> 总数:${memory_total}G	已用:${memory_used}M	可用:${memory_available}M"
    }
     
     
    # 磁盘资源信息统计
    function show_disk
    {
        df -h | awk '/^/dev/ {printf "磁盘 -> 挂载点:%s	总数:%s	已用:%s	可用:%s	使用率:%s
    ", $NF, $2, $3, $4, $5}'
    }
     
     
    # 网络资源信息统计
    function show_net
    {
        netstat -atnp | awk 'BEGIN{printf "
    网络 -> 
    %-16s%s
    ", "状态", "总数"} NR > 2 { STATUS[$6]++ } END{ for(i in STATUS) printf "%-16s%4s
    ", i, STATUS[i] }'
    }
     
     
    # 实现菜单显示
    function menu
    {
        echo -e "
    		欢迎使用系统资源监测系统		"
        echo
        echo -e "			0、退出系统			"
        echo -e "			1、CPU资源监测			"
        echo -e "			2、内存资源监测			"
        echo -e "			3、磁盘资源监测			"
        echo -e "			4、网络资源监测			"
    }
     
     
    # 1.定义入口函数
    function main
    {
        # 2.判断用户输入
        # while为无限循环
        while :
        do
            menu
            read -p "请输入0~4之间的数字:" num
            # 3.根据用户选择的选项, 调用相应的函数
            case "${num}" in
                0)
                    echo -e "欢迎再次光临!"
                    break
                    ;;
                1)
                    show_cpu
                    ;;
                2)
                    show_memory
                    ;;
                3)
                    show_disk
                    ;;
                4)
                    show_net
                    ;;
                *)
                    ;;
            esac
        done
         
    }
     
    main
    
  • 相关阅读:
    prototype属性
    mui 结束时间不能大于开始时间
    DOM方式操作元素属性
    用户输入数字,自动生成钱值
    isNaN函数,判断其参数是否为数字类型
    switch 循环
    淘宝下单高并发解决方案(转)
    NLog文章系列——如何配置NLog(转)
    使用Nlog记录日志到数据库
    NLog文章系列——如何配置NLog
  • 原文地址:https://www.cnblogs.com/ljincheng/p/15012584.html
Copyright © 2011-2022 走看看