返回首页DA系统C#IDE文件同步服务屏保 今天是: 2026-05-05    "立夏"  夏季的第一个节气,表示盛夏时节的正式开始

搜索
热搜: linux 技术
Hi~登录注册
查看: 2344|回复: 0

[原创] 服务器监控脚本-日志警告服务(shell)-后台版-by swztdza

[复制链接]
发表于 2020-1-3 22:25:38 | 显示全部楼层 |阅读模式
#! /bin/bash
#注意,可以单独使用,但是联动主脚本使用更佳!


        s=1
        while [ $s -ge 0 ] #死循环
        do

        echo "----------------服务器状态监测,每 1 秒检测一次 ctrl+c可以退出程序----------------"
        date +"%Y-%m-%d %T  %A"

        echo -e "\e[43m----------------cpu  status----------------\e[0m"

        pd1=$(uptime | awk '{print $6}')
   
        if [ $pd1 == "min," ];then

                echo -e "\e[1;34m分别为1分钟,5分钟,15分钟cpu负载:\e[0m"  $(uptime | awk '{print ($11,$12,$13)}')

                sz5=$(uptime | awk '{print $11}'| sed s/,//)

                sz4=$(echo $(uptime | awk '{print $11}')| sed s/,// | awk '{if($0 < 0.6)
               #使用awk工具判断浮点数,并赋值给sz4,标准值设置为0.6

                        print "0"
                else
                        { print "1"  } }')
                       #注意各种符号,花括号,单引号,双引号

                if [ $sz4 == "0" ];then
                        echo '负载正常'
                else
                        echo -e '\e[1;31m当前负载过高警告!当前负载过高警告!已生成>警告日志文件:/root/LTlog/warning.txt\e[0m'


                        sz6=$(date +"%Y-%m-%d %T  %A")
                        echo -e "\e[1;31m$sz6\e[0m" >> /root/LTlog/warning.txt

                        #使用变量赋值的作用是需要改变颜色

                        echo -e "\e[1;31m当前负载过高警告!当前负载过高警告!当前负载值:$sz5\e[0m"  >> /root/LTlog/warning.txt

                fi


                echo -e "\e[1;34m登陆用户数:\e[0m" $(uptime | awk '{print ($7)}')
                echo -e "\e[1;34m服务器已运行 \e[0m" $(uptime | awk '{print ($3)}') "\e[1;31m天\e[0m"
                echo -e "\e[0m"
        else

                echo -e "\e[1;34m分别为1分钟,5分钟,15分钟cpu负载:\e[0m"  $(uptime | awk '{print ($10,$11,$12)}')

                sz2=$(uptime | awk '{print $10}'| sed s/,//)

                sz1=$(echo $(uptime | awk '{print $10}')| sed s/,// | awk '{if($0 < 0.6)
                #使用awk工具判断浮点数,并赋值给sz1
,标准值设置为0.6

                        print "0"
                else
                        #{ print "当前负载过高警告!当前负载过高警告!已生成日志文件
:/root/LTlog/warning.txt";

                        #打印出字符串

                        #print ("当前负载过高",$0) >> "/root/LTlog/warning.txt";
                        #awk追加重定向案例

                        { print "1"  } }')
                        
#注意各种符号,花括号,单引号,双引号

                if [ $sz1 == "0" ];then
                        echo '负载正常'
                else
                        echo -e '\e[1;31m当前负载过高警告!当前负载过高警告!已生成警告日志文件:/root/LTlog/warning.txt\e[0m'


                        sz3=$(date +"%Y-%m-%d %T  %A")
                        echo -e "\e[1;31m$sz3\e[0m" >> /root/LTlog/warning.txt      

                        #使用变量赋值的作用是需要改变颜色

                        echo -e "\e[1;31m当前负载过高警告!当前负载过高警告!当前负载值:$sz2\e[0m"  >> /root/LTlog/warning.txt

                fi
                echo -e "\e[43m----------------disk status----------------\e[0m"
               df -h | sed -n "1,2p"
               echo ""
               echo -e "\e[43m----------------Mem  status----------------\e[0m"
               free | sed -n "1,2p"
               echo -e "\e[43m----------------Net  status----------------\e[0m"
               ifconfig eth0 | grep bytes


               sleep 1  #每秒刷新一次
               clear      
#清屏
               done     
#循环结构结束





脚本下载地址:










本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为修仙之旅的少年~

x
游客
回复
*滑块验证:

DA论坛飞机票来了~
快速回复 返回顶部 返回列表