标签:取出 gre 程序 软件 send 3.1 bin 无法访问 print
# 实验案例一、[root@localhost ~]# vi /root/sysmon.sh
#!/bin/bash
#提取性能监控指标(磁盘占用、CPU使用、内存使用)
DUG=$(df -hT | grep "/$" | awk ‘{print $6}‘ |awk -F% ‘{print $1}‘)
CUG=$(expr 100 - $(mpstat | tail -1 | awk ‘{print $10}‘ | awk -F. ‘{print $1}‘))
MUG=$(expr $(free | grep "Mem" | awk ‘{print $3}‘) \* 100 / $(free | grep "Mem:" | awk ‘{print $2}‘))
#设置告警日志文件、告警邮箱
ALOG="/tmp/alert.txt"
AMAIL="root"
#判断是否记录告警
if [ $DUG -gt 1 ]
then
echo "磁盘占用率:$DUG %" >> $ALOG
fi
if [ $CUG -gt 2 ]
then
echo "CPU使用率:$CUG %" >> $ALOG
fi
if [ $MUG -gt 3 ]
then
echo "内存使用率:$MUG %" >> $ALOG
fi
#断是否发送告警邮件,最后删除告警日志文件
if [ -f $ALOG ]
then
cat $ALOG | mail -s "Host Alert" $AMAIL
rm -rf $ALOG
fi
[root@localhost ~]# chmod +x /root/sysmon.sh
***测试sysmon.sh脚本的执行情况***
(1)确认有可用的邮件服务器(如Postfix、Sendmail等),然后调低监控阈值,执行sysmon.sh脚本进行测试。
[root@localhost ~]# /root/sysmon.sh
(2)查收monitor@benet.com的邮箱,确认告警邮件内容。
[monitor@localhost ~]$ cat /var/spool/mail/root
X-Original-To: monitor@benet.com
……
From: root@benet.com (root)
内存使用率:91 %
**设置crontab计划任务**
(1)确认系统服务crond已经运行。
[root@localhost ~]# systemctl status crond
crond (pid 5839) 正在运行...
(2)添加crontab计划任务配置,每半小时调用一次sysmon.sh脚本程序。
[root@localhost ~]# crontab -e
08 * * * /root/sysmon.sh
**实验案例二:判断内核版本是否大于3.4**
[root@localhost ~]# vi chkversion.sh
#!/bin/bash
Mnum=$(uname -r | awk -F. ‘{print $1}‘)
Snum=$(uname -r | awk -F. ‘{print $2}‘)
if [ $Mnum -gt 3 ]
then
echo "内核版本为:$Mnum.$Snum"
elif [ $Mnum -eq 3 ] && [ $Snum -gt 4 ]
then
echo "内核版本为:$Mnum.$Snum"
else
echo "内核版本太低,无法继续!"
fi
[root@localhost ~]# chmod +x chkversion.sh
[root@localhost ~]# ./chkversion.sh
内核版本为:3.10
实验案例三、判断判断rpm包sysstat是否安装,如果没有安装则自动安装
[root@localhost ~]# vi chkinstall.sh
#!/bin/bash
rpm -q sysstat &> /dev/null
if [ $? -eq 0 ]
then
echo "已安装 ‘rpm -q sysstat‘"
else
echo "未安装,尝试自动安装"
RHEL_DIR="/media/Packages/"
if [ -d $RHEL_DIR ]
then
cd $RHEL_DIR
rpm -ivh sysstat-*.rpm && echo "安装完成。"
else
echo "错误:无法访问光盘目录:$RHEL_DIR"
fi
fi
[root@localhost ~]# chmod +x chkinstall.sh
[root@localhost ~]# ./chkinstall.sh //未安装时的情况
未安装,尝试自动安装
Preparing... ########################################### [100%]
1:sysstat ########################################### [100%]
安装完成。
[root@localhost ~]# ./chkinstall.sh //已安装时的情况
已安装 sysstat-7.0.2-3.el5
标签:取出 gre 程序 软件 send 3.1 bin 无法访问 print
原文地址:http://blog.51cto.com/13468179/2163110