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

实验内容:

相关推荐
Lsir10110_7 小时前
【Linux】进程信号(上半)
linux·运维·服务器
cur1es7 小时前
【UDP的报文结构】
网络·网络协议·udp·md5
开开心心就好8 小时前
发票合并打印工具,多页布局设置实时预览
linux·运维·服务器·windows·pdf·harmonyos·1024程序员节
惊讶的猫8 小时前
OpenFeign(声明式HTTP客户端)
网络·网络协议·http·微服务·openfeign
火车叼位8 小时前
脚本伪装:让 Python 与 Node.js 像原生 Shell 命令一样运行
运维·javascript·python
css趣多多8 小时前
add组件增删改的表单处理
java·服务器·前端
Sheep Shaun8 小时前
揭开Linux的隐藏约定:你的第一个文件描述符为什么是3?
linux·服务器·ubuntu·文件系统·缓冲区
野犬寒鸦8 小时前
从零起步学习并发编程 || 第七章:ThreadLocal深层解析及常见问题解决方案
java·服务器·开发语言·jvm·后端·学习
迎仔8 小时前
06-存储设备运维进阶:算力中心的存储管家
运维
心.c9 小时前
TCP协议深入解析
网络·网络协议·tcp/ip