shell脚本监测服务器CPU、内存、硬盘信息

2019-08-01  本文已影响0人  天生小包
一、将一下内存保存到shell脚本中
vi system.sh
#!/bin/bash
hname=`hostname`
today=`date  "+%Y-%m-%d %H:%M:%S"`
IP=`ifconfig -a|grep -o -e 'inet [0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}'|grep -v "127.0.0"|awk '{print $2}'`
#cpu_idle=`top -b -n 1 | grep Cpu | awk '{print $5}' | cut -f 1 -d "."`
#cpu_idle=`top -b -n 1 | grep Cpu | awk '{print $5}' | cut -f 1 -d "."`
cpu_idle=`top -b -n 1 | grep Cpu | awk '{print $2}'`
total=`vmstat 1 5|awk '{x+=$13;y+=$14}END{print x+y}'`
#average=$(echo "scale=2;$total/5"|bc)
p_mem=`free -m | grep Mem | awk '{print $2}'`
p_mem_used=`free -m | grep Mem | awk '{print $3}'`
p_mem_free=`free -m | grep Mem | awk '{print $4}'`
p_mem_rate=`expr $p_mem_used / $p_mem`
cache_mem_used=`free -m | grep - | awk '{print $3}'`
cache_mem_free=`free -m | grep - | awk '{print $4}'`
swap_used=`free -m | grep Swap | awk '{print $3}'`
hd_used=`df -h |sed -n "8,8p"| awk '{print $3}'`
hd_free=`df -h |sed -n "8,8p"| awk '{print $4}'`
hd_rate=`df -h |sed -n "8,8p"| awk '{print $5}'`

#输出到文件中
cat>>/home/cdh/sys_warning.txt<<EOF
#输出到文件中

echo "**********************************"
echo "当前时间    :[$today]"
echo "主机名      :[$hname]"
echo "本机IP      :[$IP]"
echo "**********************************"
echo "cpu使用率   :[${cpu_idle}%]"
echo "**********************************"
echo "已用内存    :[${p_mem_used}MB]"
echo "总内存      :[${p_mem}MB]"
echo "使用率      :[${p_mem_rate}%]"
echo "**********************************"
echo "已用硬盘    :[${hd_used}B]"
echo "剩余硬盘    :[${hd_free}B]"
echo "使用率      :[${hd_rate}]"
echo "**********************************"
#输出到文件中
EOF
#输出到文件中
二、加入任务计划:每1分钟检测一次
# crontab -e
*/1 * * * *  /home/cdh/system.sh 
# service crond restart
三、发送邮件(测试中)
上一篇 下一篇

猜你喜欢

热点阅读