shell脚本(11)

监控系统脚本

1、内存超过80%则发出警告
2、系统磁盘使用量百分比
3、磁盘超过80%发出警告
4、监控系统进程数量个数
5、pros超过200发出警告
6、当前登录用户数量超过20个发出警告
7、将以上监控项目保存在文件/root/sys_status.txt

# 创建脚本文件
vim monitor_system.sh 
#!/bin/bash
DATE=`date +%F_%T`
mem=`free | awk '/Mem/{printf ("%d\n",$3/$2*100)}'`
disk=`df -h | grep -w / | awk '{print $5}' | awk -F % '{print $1}'`
pros=`ps -ef | wc -l`
users=`who | awk '{print $1}' | sort | uniq | wc -l`

echo "#############################################################" >> /root/sys_status.txt

if [ $mem -gt 80 ];then
    echo "警告!当前内存使用率为$mem%,已经快要耗尽,请及时查看处理!"  >> /root/sys_status.txt
else
    echo "内存空间充足,工作正常">> /root/sys_status.txt
fi

if [ $disk -gt 80 ];then
    echo "警告! 当前磁盘使用率为$disk%,已经快要耗尽,请及时查看处理!">> /root/sys_status.txt
else
    echo "磁盘空间充足,工作正常">> /root/sys_status.txt
fi

if [ $pros -gt 100 ];then
    echo "警告! 当前系统进程数量为$pros,请及时查看处理!">> /root/sys_status.txt
else
    echo "进程数量正常!">> /root/sys_status.txt
fi

if [ $users -gt 1 ];then
    echo "警告! 当前登录系统用户数量为$users,请及时查看处理!">> /root/sys_status.txt
else
    echo "登录用户数量正常!">> /root/sys_status.txt
fi
# 执行脚本
sh monitor_system.sh 
cat /root/sys_status.txt
发布了68 篇原创文章 · 获赞 24 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/aaronszm/article/details/103919197
今日推荐