news 2026/6/15 18:15:27

AWK 文本练习题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AWK 文本练习题

1检测两台服务器指定目录下的文件一致性

2.定时清空文件内容,定时记录文件大小

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

4.计算文档每行出现的数字个数,并计算整个文档的数字总数

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

6.查看CPU资源占用率的脚本文件

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

8.扫描主机端口状态

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

代码:

#!/bin/bash
#######################################################################################
#需求:
#1.每隔10s监控httpd的进程数,若进程数大于等于500,则自动重启Apache服务,并检测服务是否重启成功
#2.若未成功则需要再次启动,若重启5次依旧没有成功,则向管理员发送告警邮件,并退出检测
#3.如果启动成功,则等待1分钟后再次检测httpd进程数,若进程数正常,则恢复正常检测(10s一次),否则放弃重启并向管理员发送告警邮件,并退出检测
#######################################################################################
#计数器函数
check_service()
{
j=0
for i in `seq 1 5`
do
#重启Apache的命令
/usr/local/apache2/bin/apachectl restart 2> /var/log/httpderr.log
#判断服务是否重启成功
if [ $? -eq 0 ]
then
break
else
j=$[$j+1]
fi
#判断服务是否已尝试重启5次
if [ $j -eq 5 ]
then
mail.py
exit
fi
done
}
while :
do
n=`pgrep -l httpd|wc -l`
#判断httpd服务进程数是否超过500
if [ $n -gt 500 ]
then
/usr/local/apache2/bin/apachectl restart
if [ $? -ne 0 ]
then
check_service
else
sleep 60
n2=`pgrep -l httpd|wc -l`
#判断重启后是否依旧超过500
if [ $n2 -gt 500 ]
then
mail.py
exit
fi
fi
fi
#每隔10s检测一次
sleep 10
done

图例:

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

代码如下:

logfile=/data/log/access.log

d1=`date -d "-1 minute" +%H%M`
d2=`date +%M`
ipt=/sbin/iptables
ips=/tmp/ips.txt
block()
{

grep '$d1:' $logfile|awk '{print $1}'|sort -n|uniq -c|sort -n > $ips

for i in `awk '$1>100 {print $2}' $ips`
do
$ipt -I INPUT -p tcp --dport 80 -s $i -j REJECT
echo "`date +%F-%T` $i" >> /tmp/badip.log
done
}
unblock()
{
for a in `$ipt -nvL INPUT --line-numbers |grep '0.0.0.0/0'|awk '$2<10 {print $1}'|sort -nr`
do
$ipt -D INPUT $a
done
$ipt -Z
}

if [ $d2 -eq "00" ] || [ $d2 -eq "30" ]
then

unblock
block
else
block
fi

实操图:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 15:19:08

IAR使用教程:C++在嵌入式中的混合编程指南

IAR实战指南&#xff1a;如何在嵌入式开发中驾驭C与C的混合编程你有没有遇到过这样的场景&#xff1f;项目里一堆老旧但稳定的C语言驱动代码&#xff0c;比如GPIO、UART、ADC的初始化函数&#xff0c;写得扎实、跑得稳&#xff0c;可就是越来越难维护。现在新功能越来越多——状…

作者头像 李华
网站建设 2026/6/15 15:53:19

STM32CubeMX界面汉化实战案例:超详细版教程

手把手教你汉化 STM32CubeMX&#xff1a;从零开始打造中文界面你有没有在第一次打开STM32CubeMX时&#xff0c;面对满屏的英文菜单和配置项感到头大&#xff1f;“Clock Configuration”、“NVIC Settings”、“GPIO Mode”……这些术语对老手来说可能习以为常&#xff0c;但对…

作者头像 李华
网站建设 2026/6/10 11:31:25

手把手教你使用NVIDIA TensorRT镜像部署开源大模型

使用NVIDIA TensorRT镜像部署开源大模型&#xff1a;从原理到实战 在当前生成式AI迅猛发展的背景下&#xff0c;越来越多的企业和开发者希望将开源大模型&#xff08;如Llama-2、ChatGLM、Baichuan等&#xff09;快速部署到生产环境。然而&#xff0c;一个绕不开的现实问题是&…

作者头像 李华
网站建设 2026/6/15 18:01:13

企业部门协作泳道图制作工具 PC端

良功绘图网站 (https://www.lghuitu.com ) 在现代企业运营中&#xff0c;部门协作效率直接影响业务推进速度和成果质量。随着企业规模扩大、业务流程日趋复杂&#xff0c;跨部门协作中的职责模糊、流程卡顿、沟通成本高企等问题逐渐凸显。而泳道图&#xff08;又称跨职能流程图…

作者头像 李华
网站建设 2026/6/15 15:56:26

项目管理跨职能泳道图在线生成方法

良功绘图网站 (https://www.lghuitu.com ) 在现代项目管理中&#xff0c;跨职能协作是提升效率、确保项目顺利推进的核心要素。不同部门、不同角色之间的工作衔接是否顺畅&#xff0c;直接影响项目的进度、成本和质量。而跨职能泳道图作为一种直观的流程可视化工具&#xff0c…

作者头像 李华
网站建设 2026/6/15 13:11:17

一文搞懂TensorRT核心机制:层融合、精度校准与内核调优

一文搞懂TensorRT核心机制&#xff1a;层融合、精度校准与内核调优 在现代AI系统中&#xff0c;训练一个高精度的深度学习模型只是第一步。真正决定用户体验和业务可行性的&#xff0c;往往是推理阶段的表现——响应是否足够快&#xff1f;吞吐能否支撑高并发&#xff1f;资源消…

作者头像 李华