linux 监测系统、网速、端口、进程(半抄半改)

#!/bin/bash

#计算CPU利用率的时间间隔。
CPUTIME=2     # 单位 s
#CPU限制,当系统使用CPU达到下面值时报警。
CPULIMIT=90 #单位 %
#内存限制,当系统使用内存达到下面值时报警。
MEMLIMIT=80   #单位 %
#磁盘监控。
 
ROOT=80       # / 分区使用限制。单位 %
VAR=90        # var 分区使用限制。 单位 %
HOME=90        # home 分区使用限制。单位 %
BOOT=80       # boot 分区使用限制。 单位 %
DATA=90       # data1 分区使用限制。单位 %
#计算网卡流量时间间隔
NETTIME=3     #单位 s
#1、系统基本信息
################################################################
echo -e "\033[32m###################### 主机名 ######################\033[0m"
echo  Hostname: `hostname`
echo \ ;
echo -e "\033[32m###################### 系统时间 ######################\033[0m"
echo System_Now_Time: `date "+%Y-%m-%d %H:%M:%S"`
#获取系统时间也可以使用who -b
echo System_Boot_Time: `date -d "$(awk -F. '{print $1}' /proc/uptime) second ago" +"%Y-%m-%d %H:%M:%S"`

echo \ ;
echo -e "\033[32m###################### 路由 ######################\033[0m"

route
 
echo \ ;
echo -e "\033[32m###################### Ip地址和网卡流量 ######################\033[0m"
#获取服务器的网卡和IP地址,以便在网卡流量监控时使用。

 
for Network in `ifconfig |awk -F : '/^[[:alpha:]]/{print $1}'`
do
  FLOWA=/tmp/.$Network
  grep $Network: /proc/net/dev|awk -F: '{print $2}'|awk '{print "INPUT "  $1 " "  "OUTPUT " $9}' > $FLOWA
  #第一次获取网卡流量,单位字节
  INPUTA=`awk '{print $2}' $FLOWA`
  OUTPUTA=`awk '{print $4}' $FLOWA`
  #获取网卡流量间隔时间
  sleep $NETTIME
  #第二次获取网卡流量,单位字节
  grep $Network: /proc/net/dev|awk -F: '{print $2}'|awk '{print "INPUT "  $1 " "  "OUTPUT " $9}' > $FLOWA
  INPUTB=`awk '{print $2}' $FLOWA`
  OUTPUTB=`awk '{print $4}' $FLOWA`
  #计算
  #转换网卡流量单位为KB
  INPUTC=`echo -e "$INPUTB-$INPUTA" | bc`
  OUTPUTC=`echo -e "$OUTPUTB-$OUTPUTA"| bc`
  INPUTMBA=`echo -e $INPUTC |awk '{printf "%0.3f\n",$1/1024}'`
  OUTPUTMBA=`echo -e $OUTPUTC |awk '{printf "%0.3f\n",$1/1024}'`
  INPUT=`echo -e $INPUTC |awk '{printf "%0.3f\n",$1/1024/1024}'`
  OUTPUT=`echo -e $OUTPUTB |awk '{printf "%0.3f\n",$1/1024/1204}'`
  #判断网卡流量使用量
  if [ $INPUTC -le 1048576 ];then
        if [ $OUTPUTC -le 1048576 ];then
            echo  Network_Card: $Network    Ip: `/sbin/ifconfig $Network|grep "inet "|awk '{print $2}'`  "输入流量: " ${INPUTMBA}K/S  "输出流量: " "${OUTPUTMBA}K/S "
        else
            echo  Network_Card: $Network    Ip: `/sbin/ifconfig $Network|grep "inet "|awk '{print $2}'`  "输入流量: " ${INPUTMBA}K/S  "输出流量: " "${OUTPUT}M/S "
        fi
    elif [ $INPUTC -gt 1048576 ];then
        if [ $OUTPUTC -gt 1048576 ];then
            echo  Network_Card: $Network    Ip: `/sbin/ifconfig $Network|grep "inet "|awk '{print $2}'`  "输入流量: " ${INPUT}M/S "输出流量: " "${OUTPUTMBA}K/S "
        else
            echo  Network_Card: $Network    Ip: `/sbin/ifconfig $Network|grep "inet "|awk '{print $2}'`  "输入流量: " ${INPUT}M/S

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值