shell脚本综合练习

习题:

一.检查两主机中的目录下的文件是否一致

环境准备:

1.两台主机:端口22号开放,且root用户能被SSH远程登陆:

建议直接从当前已经连接SSH服务的虚拟机进行链接克隆,

2.确保两主机有相同相同的目录:
  • 建议两主机在一个相同的目录创建一个相同或不同的普通文件;
  • 也可以用本地拥有的目录,在相同目录下进行更改;
3.确保两个主机开机:

A机编写脚本,B机待机;

实验内容:

(此脚本用来检查文件是否一致)

(此脚本用来直观的查看上一个脚本的结果)

二.定时清空文件内容和记录大小

环境准备:

准备一个文本文件,为后续清零判断是否成功;

实验内容:

三.检测网卡流量,并按规定格式记录在日志中

(用来检测网卡流量)

(此脚本用来直观的查看上一个脚本的结果)

① 日志存在性

  • 日志文件已生成,37 kB 有内容

② 格式检查

  • 每 1 分钟一条时间戳 + 分隔线,格式正确;

③ 时间连续性

  • 每分钟都有记录,间隔连续(重复是因脚本 1 分钟触发 2 次,影响不大);

④ 数值变化(流量验证)

  • pv 跑出 ≈15 MB/s 出方向流量

  • 下一分钟日志(20:52)已落盘,带宽数值明显上涨;

四.计算文档每行出现的数字个数和整个文档的数字总数

五.监测 Nginx 访问日志 502 情况,并完成以下要求

假设服务器环境为 lnmp,近期访问经常出现 502 现象,

且 502 错误在重启 php-fpm 服务后消失,因此需要编写监控脚本,

一旦出现 502,则自动重启 php-fpm 服务。

环境准备:

实验内容:

(此脚本仅保存,不启动)

(此脚本检测文件 + 启动 + 验证)

六.扫描主机端口状态

(验证脚本)

(结果查看脚本)

七.创建10个用户,并分别设置密码,密码要求10位且包含大小写字母以及数字,最后需要把每个用户的密码存在指定文件中(?)

八.批量修改服务器用户密码

环境准备:

先创建一个装有旧密码的old_pass.txt文件和空文件new_pass.text:

实验内容:

九.查看CPU资源占用率的

(此脚本查看 CPU 占用率)

十.生成磁盘使用情况的日志文件

(此脚本生成磁盘使用日志)

十 一.监控 httpd 的进程数,根据监控情况做相应处理

1.每隔10s监控httpd的进程数,若进程数大于等于500,则自动重启Apache服务,并检测服务是否重启成功;

2.若未成功则需要再次启动,若重启5次依旧没有成功,则向管理员发送告警邮件,并退出检测;

3.如果启动成功,则等待1分钟后再次检测httpd进程数,若进程数正常,则恢复正常检测(10s一次),否则放弃重启并向管理员发送告警邮件,并退出检测;

环境准备:

先安装http软件包;

实验内容:

十二.根据web访问日志,封禁请求量异常的IP,如IP在半小时后恢复正常,则解除封禁(?)

环境准备:

先准备4个普通空文件

实验内容:

相关推荐
优爱蛋白2 小时前
IL-21:后Th1/Th2时代的免疫新星
java·服务器·前端·人工智能·健康医疗
飞函安全2 小时前
私有化一站式办公平台,协同办公更高效
运维·安全·信息与通信
2301_801387292 小时前
网络、API 连接和 pod 启动的问题
运维·网络·kubernetes
Dolphin_Home2 小时前
【实用工具类】NullSafeUtils:一站式解决Java空值安全与通用操作(附完整源码)
java·网络·spring boot·后端·spring
渡我白衣2 小时前
计算机组成原理(4):计算机的层次结构与工作原理
运维·c语言·网络·c++·人工智能·笔记·硬件架构
Mr_sun.2 小时前
Docker中安装软件汇总(留存版)
运维·docker·容器
古城小栈2 小时前
MCP协议 与 Function Call 的有点分不清楚
网络·网络协议
weixin_307779133 小时前
Jenkins Jackson 2 API插件详解:JSON处理的基础支柱
运维·开发语言·架构·json·jenkins
深圳南柯电子3 小时前
物联照明EMC整改:技术攻坚到系统化方案的全链路突破|南柯电子
网络·人工智能·互联网·实验室·emc