Linux Shell脚本测试案例(二)

简介:

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

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服务负责解析邮件服务器的MXA记录

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

c:配置邮件服务器

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

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

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

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

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

邮件内容如下:

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

相关文章
|
2月前
|
关系型数据库 MySQL Shell
MySQL 备份 Shell 脚本:支持远程同步与阿里云 OSS 备份
一款自动化 MySQL 备份 Shell 脚本,支持本地存储、远程服务器同步(SSH+rsync)、阿里云 OSS 备份,并自动清理过期备份。适用于数据库管理员和开发者,帮助确保数据安全。
|
18天前
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
80 25
|
1月前
|
存储 安全 Linux
Metasploit Pro 4.22.7-2025040601 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.7-2025040601 (Linux, Windows) - 专业渗透测试框架
65 1
Metasploit Pro 4.22.7-2025040601 (Linux, Windows) - 专业渗透测试框架
|
1月前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.55 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.55 (macOS, Linux, Windows) - 开源渗透测试框架
48 0
Metasploit Framework 6.4.55 (macOS, Linux, Windows) - 开源渗透测试框架
|
2月前
|
网络协议 Shell 网络安全
面试官想听的不仅是命令——如何结构化回答“容器无Shell时如何测试外网”?
“说说看,如果一个Pod的容器没有Shell,如何测试它能否访问外网?”
面试官想听的不仅是命令——如何结构化回答“容器无Shell时如何测试外网”?
|
3月前
|
人工智能 Linux iOS开发
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
124 12
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
|
3月前
|
Shell Linux
【linux】Shell脚本中basename和dirname的详细用法教程
本文详细介绍了Linux Shell脚本中 `basename`和 `dirname`命令的用法,包括去除路径信息、去除后缀、批量处理文件名和路径等。同时,通过文件备份和日志文件分离的实践应用,展示了这两个命令在实际脚本中的应用场景。希望本文能帮助您更好地理解和应用 `basename`和 `dirname`命令,提高Shell脚本编写的效率和灵活性。
170 32
|
2月前
|
关系型数据库 Shell 网络安全
定期备份数据库:基于 Shell 脚本的自动化方案
本篇文章分享一个简单的 Shell 脚本,用于定期备份 MySQL 数据库,并自动将备份传输到远程服务器,帮助防止数据丢失。
|
3月前
|
JavaScript Shell C#
多种脚本批量下载 Docker 镜像:Shell、PowerShell、Node.js 和 C#
本项目提供多种脚本(Shell、PowerShell、Node.js 和 C#)用于批量下载 Docker 镜像。配置文件 `docker-images.txt` 列出需要下载的镜像及其标签。各脚本首先检查 Docker 是否安装,接着读取配置文件并逐行处理,跳过空行和注释行,提取镜像名称和标签,调用 `docker pull` 命令下载镜像,并输出下载结果。使用时需创建配置文件并运行相应脚本。C# 版本需安装 .NET 8 runtime。
188 2
|
4月前
|
前端开发 JavaScript 测试技术
使用ChatGPT生成登录产品代码的测试用例和测试脚本
使用ChatGPT生成登录产品代码的测试用例和测试脚本
126 35