linux shell 内存利用率,shell脚本监控CPU、内存和硬盘利用率

1)CPU

借助vmstat工具来分析CPU统计信息。

class="">#!/bin/bash

DATE=$(date +%F" "%H:%M)

IP=$(ifconfig eth0 |awk -F '[ :]+' '/inet addr/{print $4}')  # 只支持CentOS6

MAIL="example@mail.com"

if ! which vmstat &>/dev/null; then

echo "vmstat command no found, Please install procps package."

exit 1

fi

US=$(vmstat |awk 'NR==3{print $13}')

SY=$(vmstat |awk 'NR==3{print $14}')

IDLE=$(vmstat |awk 'NR==3{print $15}')

WAIT=$(vmstat |awk 'NR==3{print $16}')

USE=$(($US+$SY))

if [ $USE -ge 50 ]; then

echo "

Date: $DATE

Host: $IP

Problem: CPU utilization $USE

" | mail -s "CPU Monitor" $MAIL

fi

2)内存

class="">#!/bin/bash

DATE=$(date +%F" "%H:%M)

IP=$(ifconfig eth0 |awk -F '[ :]+' '/inet addr/{print $4}')

MAIL="example@mail.com"

TOTAL=$(free -m |awk '/Mem/{print $2}')

USE=$(free -m |awk '/Mem/{print $3-$6-$7}')

FREE=$(($TOTAL-$USE))

# 内存小于1G发送报警邮件

if [ $FREE -lt 1024 ]; then

echo "

Date: $DATE

Host: $IP

Problem: Total=$TOTAL,Use=$USE,Free=$FREE

" | mail -s "Memory Monitor" $MAIL

fi

3)硬盘

class="">#!/bin/bash

DATE=$(date +%F" "%H:%M)

IP=$(ifconfig eth0 |awk -F '[ :]+' '/inet addr/{print $4}')

MAIL="example@mail.com"

TOTAL=$(fdisk -l |awk -F'[: ]+' 'BEGIN{OFS="="}/^Disk /dev/{printf "%s=%sG,",$2,$3}')

PART_USE=$(df -h |awk 'BEGIN{OFS="="}/^/dev/{print $1,int($5),$6}')

for i in $PART_USE; do

PART=$(echo $i |cut -d"=" -f1)

USE=$(echo $i |cut -d"=" -f2)

MOUNT=$(echo $i |cut -d"=" -f3)

if [ $USE -gt 80 ]; then

echo "

Date: $DATE

Host: $IP

Total: $TOTAL

Problem: $PART=$USE($MOUNT)

" | mail -s "Disk Monitor" $MAIL

fi

done

>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值