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,如需转载请自行联系原作者

相关文章
|
4天前
|
JSON 监控 测试技术
Groovy脚本编写员工上网行为监控自动化测试
本文介绍了如何使用Groovy脚本创建一个自动化工具来监控员工的网络活动。通过编写简单脚本记录员工访问的网站并打印信息,可进一步扩展为将数据保存至数据库。此外,通过设定定时任务,实现了每30分钟自动监控一次的功能。最后,展示了如何将监控数据转换为JSON格式并使用HTTP POST请求提交到网站,以实现数据的自动化上报,有助于企业保障网络安全、保护数据并提升工作效率。
41 5
|
23小时前
|
网络协议 Shell Linux
LabVIEW 在NI Linux实时设备上访问Shell
LabVIEW 在NI Linux实时设备上访问Shell
|
1天前
|
Unix Shell Linux
轻松编写 AIX Shell 脚本
轻松编写 AIX Shell 脚本
|
2天前
|
Shell Linux
【Linux】进程实践项目(更新中) — 自主shell编写
前几篇文章,我们学习进程的相关知识:进程概念,进程替换,进程控制。熟悉了进程到底是个什么事情,接下来我们来做一个实践,来运用我们所学的相关知识。这个项目就是手搓一个shell模块,模拟实现Xshell中的命令行输入。
7 1
|
2天前
|
监控 关系型数据库 Shell
Shell脚本入门:从基础到实践,轻松掌握Shell编程
Shell脚本入门:从基础到实践,轻松掌握Shell编程
|
2天前
|
关系型数据库 MySQL Shell
在Centos7中利用Shell脚本:实现MySQL的数据备份
在Centos7中利用Shell脚本:实现MySQL的数据备份
|
3天前
|
Shell Linux 信息无障碍
5 个有用的 Linux Shell 转义序列
5 个有用的 Linux Shell 转义序列
|
4天前
|
Shell Linux 编译器
C语言,Linux,静态库编写方法,makefile与shell脚本的关系。
总结:C语言在Linux上编写静态库时,通常会使用Makefile来管理编译和链接过程,以及Shell脚本来自动化构建任务。Makefile包含了编译规则和链接信息,而Shell脚本可以调用Makefile以及其他构建工具来构建项目。这种组合可以大大简化编译和构建过程,使代码更易于维护和分发。
21 5
|
4天前
|
Shell 程序员 数据安全/隐私保护
shell 脚本 if-else判断 和流程控制 (基本语法|基础命令)
shell 脚本 if-else判断 和流程控制 (基本语法|基础命令)
|
4天前
|
存储 Shell C语言
shell脚本 编程 变量 基本入门(详解)
shell脚本 编程 变量 基本入门(详解)