Linux shell编程二:系统监控脚本

您所在的位置:网站首页 linux实时性测试脚本 Linux shell编程二:系统监控脚本

Linux shell编程二:系统监控脚本

2024-07-11 10:19| 来源: 网络整理| 查看: 265

系统监控脚本

在/root/bin目录下编写脚本,监控系统中内存、cpu、磁盘的占用率;赋予脚本文件执行权限,执行脚本检查效果;设置计划任务每分钟执行一次脚本。

sysmon.sh

#!/bin/bash #by lxl #memory_used_rate 内存使用率 LoadMemory=$(cat /proc/meminfo | awk '{print $2}') Total=$(echo $LoadMemory | awk '{print $1}') Free1=$(echo $LoadMemory | awk '{print $2}') Free2=$(echo $LoadMemory | awk '{print $3}') Free3=$(echo $LoadMemory | awk '{print $4}') Used=`expr $Total - $Free1 - $Free2 - $Free3` Used_Rate=`expr $Used/$Total*100 | bc -l` Memory_Used_Rate=`expr $Used_Rate/1 | bc` #disk_used_rate 磁盘占用率 Location=/dev/sda1 Disk_Used_Rate=$(df -h | grep $Location | awk '{print $5}') #cpu_used_rate cpu使用率 Log=$(cat /proc/stat | grep 'cpu ' | awk '{print $2" "$3" "$4" "$5" "$6" "$7" "$8}') Free=$(echo $Log | awk '{print $4}') Total=$(echo $Log | awk '{print $1+$2+$3+$4+$5+$6+$7}') Cpu_Used=`expr $Total - $Free` Cpu_Used_Rate=`expr $Cpu_Used/$Total*100 |bc -l` #mail to root if [ $Memory_Used_Rate -gt 10 ] then echo "内存使用率:$Memory_Used_Rate%" |mail -s "内存告警" root fi echo -e "----------------------------------------" echo -e "内存使用率:"$Memory_Used_Rate% echo -e "磁盘占用率:"$Disk_Used_Rate echo -e "cpu使用率:"$Cpu_Used_Rate% echo -e "----------------------------------------" echo -e " "

在这里插入图片描述 其中分为四部分

1、内存使用率

LoadMemory=$(cat /proc/meminfo | awk '{print $2}') Total=$(echo $LoadMemory | awk '{print $1}') Free1=$(echo $LoadMemory | awk '{print $2}') Free2=$(echo $LoadMemory | awk '{print $3}') Free3=$(echo $LoadMemory | awk '{print $4}') Used=`expr $Total - $Free1 - $Free2 - $Free3` Used_Rate=`expr $Used/$Total*100 | bc -l` Memory_Used_Rate=`expr $Used_Rate/1 | bc`

bc命令解释: bc 命令是任意精度计算器语言,通常在linux下当计算器用。 yum install -y bc

2、磁盘占用率

Location=/dev/sda1 Disk_Used_Rate=$(df -h | grep $Location | awk '{print $5}')

3、cpu使用率

Log=$(cat /proc/stat | grep 'cpu ' | awk '{print $2" "$3" "$4" "$5" "$6" "$7" "$8}') Free=$(echo $Log | awk '{print $4}') Total=$(echo $Log | awk '{print $1+$2+$3+$4+$5+$6+$7}') Cpu_Used=`expr $Total - $Free` Cpu_Used_Rate=`expr $Cpu_Used/$Total*100 |bc -l`

4、邮件发送

if [ $Memory_Used_Rate -gt 10 ] then echo "内存使用率:$Memory_Used_Rate%" |mail -s "内存告警" root fi

yum install -y mailx

设置每分钟执行一次 crontab -e 写入 */1 * * * * /root/bin/sysmon.sh 使用crontab -l 查看 在这里插入图片描述 查看收到的邮件: 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3