Linux Shell脚本测试案例(二)

简介:

脚本1:编写SHELL脚本监控主机

1、vi命令在/root目录是新建一个脚本文件sysmon.sh,内容如下:

083510862.jpg

附:

a:使用df命令提取根分区的磁盘占用率:如下图所示:

使用df  -h命令查看磁盘分区的使用情况,其中根分区的已用空间是10%

083522465.jpg

用如下图中的命令可以过滤磁盘的已用空间

083539565.jpg

b:使用mpstat命令提取CPU使用率(要确保sysstat软件包已安装)。如下图所示:其中%idle表示CPU空闲时间百分比

083551585.jpg

用如下图中的命令可以得到CPU已用空间并赋值给变量CUG

083558544.jpg

c:使用free命令查看内存的使用情况。其中划红线的表示空余内存。

083607419.jpg

用如下图中的命令可以得到内存使用率并赋值给变量MUG

083621625.jpg

2、使用chmod命令给sysmon.sh文件增加执行(x)权限

3、测试sysmon.sh脚本的执行情况

a:配置DNS服务负责解析邮件服务器的MXA记录

b:修改/etc/resolv.conf文件指向DNS服务器地址

c:配置邮件服务器

如果是postfix服务器,配置如下:

083632252.jpg

修改main.cf文件,修改后内容如下:

083643872.jpg

重启postfix服务。并发测试邮件。

d:确认有可用的邮件服务器,然后调低监控阈值,执行sysmon.sh脚本进行测试

e:查收名为monitor@benet.com的邮箱,确认警告邮件内容

090137344.jpg

邮件内容如下:

090150678.jpg

4、设置crontab计划任务,每隔半小调用一次sysmon.sh脚本程序

090204398.jpg

重新启动crond服务。


脚本2:编写SHELL脚本(mkbak.sh)提示用户指定备份目录的路径,若目录已存则显示提示信息后跳过,否则显示相应信息后创建该目录。

090247563.jpg


脚本3:编写脚本程序(chkdbsvr.sh)用于每隔5分监视一次系统服务mysqld的运行状态,若发现mysqld进程已经停止,则在/var/log/messages文件中追加写入日志信息(包括当时时间),并重启mysqld服务;否则不进行任何操作

090257862.jpg


脚本4:编写脚本程序用于监视系统服务httpd的运行状态,要求如下

当服务状态失常时在"/var/log/htmon.log"文件中记入日志信息。

自动将状态失常的httpd服务重新启动。若重启httpd服务失败,测尝试重新启动服务器主机

结合crond计划任务,每周一至周五每隔15分钟执行一次监测任务

1、/opt目录中创建脚本htmon.sh,脚本内容如下

#! /bin/bash

/sbin/service httpdstatus &> /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



本文转自甘兵 51CTO博客,原文链接:http://blog.51cto.com/ganbing/1227287,如需转载请自行联系原作者

相关文章
|
15天前
|
JavaScript 前端开发 Shell
Shell 脚本编程保姆级教程(上)
Shell 脚本编程保姆级教程(上)
|
10天前
|
Shell Linux C语言
|
12天前
|
Shell 网络安全
shell脚本 配饰ssh
【7月更文挑战第15天】
16 4
|
16天前
|
网络协议 Shell Linux
Shell脚本配置Centos静态ip地址
这是一个用于在CentOS上设置静态IP的Shell脚本摘要: - 脚本交互式获取用户输入的IP地址、子网掩码、网关和DNS。 - 使用`sed`命令动态更新`/etc/sysconfig/network-scripts/ifcfg-ENS33`配置文件。 - 修改`BOOTPROTO`为`static`,并设置IP、NETMASK、GATEWAY和DNS1字段。 - 用`systemctl restart network`重启网络服务。 - 提示用户新配置的静态IP信息。
|
16天前
|
机器学习/深度学习 数据采集 人工智能
探索自动化测试的边界:从脚本到智能
在软件开发领域,自动化测试已成为确保产品质量和提升开发效率的关键因素。随着人工智能和机器学习技术的飞速发展,传统的自动化测试方法正面临重大的变革。本文将从多个角度分析自动化测试的现状与未来趋势,探讨如何通过集成先进的技术手段优化测试流程,并预测自动化测试领域的发展方向。
27 1
|
22天前
|
Shell Linux
Linux Shell 脚本入门教程:开启你的自动化之旅
Shell是一种计算机程序,它充当了用户与操作系统之间的接口。在Linux系统中,Shell允许用户通过命令行界面(CLI)来控制计算机。Shell脚本则是一种使用Shell语言编写的脚本,它可以自动执行一系列的命令,帮助用户实现任务自动化,提高工作效率。
|
12天前
|
敏捷开发 测试技术
探索式测试与脚本化测试的融合之道
在软件测试领域,探索式测试和脚本化测试常被视为对立面。然而,随着敏捷开发的普及和测试自动化需求的增加,两者之间的界限逐渐模糊。本文将探讨如何有效地结合这两种测试方法,以实现更高效、更全面的软件测试策略。我们将通过实际案例分析,展示融合探索式与脚本化测试的优势,并提供实施建议。
|
15天前
|
Shell
Shell 脚本编程保姆级教程(下)
Shell 脚本编程保姆级教程(下)
|
22天前
|
运维 监控 大数据
部署-Linux01,后端开发,运维开发,大数据开发,测试开发,后端软件,大数据系统,运维监控,测试程序,网页服务都要在Linux中进行部署
部署-Linux01,后端开发,运维开发,大数据开发,测试开发,后端软件,大数据系统,运维监控,测试程序,网页服务都要在Linux中进行部署
|
24天前
|
移动开发 网络协议 Shell
查看IP访问量的shell脚本汇总
查看IP访问量的shell脚本汇总