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个普通空文件

实验内容:

相关推荐
Avan_菜菜9 小时前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB1 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
zzzzzz3103 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode3 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220703 天前
如何搭建本地yum源(上)
运维
大树886 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠6 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质6 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
小宇宙Zz6 天前
Maven依赖冲突
java·服务器·maven
Inhand陈工6 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信