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

实验内容:

相关推荐
赵民勇几秒前
systemd-sysusers命令详解
linux·运维
huainingning6 分钟前
盈高安全准入设备与深信服实现单点登录对接配置
服务器·网络·安全
本人手速666+11 分钟前
企业微信 API 接入层如何降低业务系统复杂度
运维·网络协议·微信·自动化·ipad
Anthony_23125 分钟前
Nginx基础
服务器·nginx·http·https·edge浏览器·web
秦jh_29 分钟前
【Docker】容器
运维·docker·容器
刘婉晴44 分钟前
【K8S】配置和连接介绍
运维
是枚小菜鸡儿吖1 小时前
Windows 和 iPhone 怎么互传文件?用 PairDrop 搭一个自己的浏览器传输入口
服务器·人工智能·大模型
网硕互联的小客服1 小时前
如何在Ubuntu系统上查看和刷新DNS缓存?操作方法与原理解析
运维·服务器·网络·ubuntu
码农学院1 小时前
制造业B2B官网GEO实战:用 Python 向量相似度给老产品手册自动补语义内链,让 AI 爬虫抓得更深
运维·人工智能·爬虫·ai优化aio
亚川楼宇自控系统数据中心厂家1 小时前
从电表到碳报告:能碳管理系统如何支撑机房双碳合规
运维