Linux监测系统负载脚本
定时记录系统负载、CPU使用率和内存等参数,便于查找系统瓶颈。
#!/bin/bash
b=`w | grep 'load average' | awk '{print $10*100}'`
if [ $b -gt 100 ];then
# 负载大于1
# 负载
average=`w | grep 'load average' | awk '{print $10*1}'`
# 今天
today=`date +%Y%m%d`
# 当前时间
now=`date +%Y-%m-%d_%H:%M`
# 非正常连接的IP地址
ip=`netstat -an | grep -v 'ESTABLISHED' | awk '{print $5}' | awk -F ":" '{print $4}'`
# CPU使用率
cpu=`top -n 1 | grep 'Cpu' | awk '{print $2}' | awk -F "%" '{print $1}'`
# 内存使用
mem=`free -m | grep 'buffers/cache' | awk '{print $3}'`
# 系统连接数
netstat=`netstat -an | wc -l`
# httpd进程数
httpd=`ps aux | grep httpd | wc -l`
echo "时间:$now | 负载:$average | Cpu:${cpu}% | Mem:${mem}M | Net:$netstat | Httpd:$httpd " >> /root/crontab/log/stat_$today.log
fi