编写SHELL脚本监控linux主机
Posted 黑白之道
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编写SHELL脚本监控linux主机相关的知识,希望对你有一定的参考价值。
【新朋友】点击标题下面蓝字「黑白之道」关注 【老朋友】点击右上角,分享或收藏本页精彩内容 |
1、 用vi命令在/root目录是新建一个文件sysmon.sh,内容如下:
附:
a:使用df命令提取根分区的磁盘占用率:如下图所示:
使用df -h命令查看磁盘分区的使用情况,其中根分区的已用是10%
用如下图中的命令可以过滤磁盘的已用
b:使用mpstat命令提取CPU使用率(要确保sysstat软件包已安装)。如下图所示:其中%idle表示CPU空闲时间百分比
用如下图中的命令可以得到CPU已用并赋值给变量CUG
c:使用free命令查看内存的使用情况。其中划红线的表示空余内存。
用如下图中的命令可以得到内存使用率并赋值给变量MUG
2、使用chmod命令给sysmon.sh文件增加执行(x)权限
3、测试sysmon.sh的执行情况
a:配置DNS服务负责解析服务器的MX和A记录
c:配置服务器
如果是postfix服务器,配置如下:
修改main.cf文件,修改后内容如下:
重启postfix服务。并发测试。
d:确认有可用的服务器,然后调低监控阈值,执行sysmon.sh进行测试
e:查收名为的邮箱,确认警告内容
邮件内容如下:
4、设置crontab计划任务,每隔半小调用一次sysmon.sh程序
重新启动crond服务。
2:编写SHELL脚本(mkbak.sh)提示用户指定备份目录的路径,若目录已存则显示提示信息后跳过,否则显示相应信息后创建该目录。
脚本3:编写脚本程序(chkdbsvr.sh)用于每隔5分监视一次系统服务mysqld的运行状态,若发现mysqld进程已经停止,则在/var/log/messages文件中追加写入日志信息(包括当时时间),并重启mysqld服务;否则不进行任何操作
脚本4:编写脚本程序用于监视系统服务httpd的运行状态,要求如下
当服务状态失常时在"/var/log/htmon.log"文件中记入日志信息。
自动将状态失常的httpd服务重新启动。若重启httpd服务失败,测尝试重新启动服务器主机
结合crond计划任务,每周一至周五每隔15分钟执行一次监测任务
1、 在/opt目录中创建脚本htmon.sh,脚本内容如下
#! /bin/bash
/sbin/service httpd status &> /dev/null
if [ $? -ne 0 ] ; then
echo "httpd is down. at time: `date`" >> /var/log/htmon.log
/sbin/service httpd restart
/sbin/service httpd status &> /dev/null
if [ $? -ne 0 ] ; then
/sbin/chkconfig --level 2345 httpd on
/sbin/shutdown -r now
fi
fi
2、 创建crontab计划任务
*/15 * * * * /opt/htmon.sh
----------------------------------
要闻、干货、原创、专业
关注“黑白之道” 微信:i77169
华夏黑客同盟我们坚持,自由,免费,共享!
以上是关于编写SHELL脚本监控linux主机的主要内容,如果未能解决你的问题,请参考以下文章