news 2026/4/18 8:30:11

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/4/17 18:28:15

出版技术书籍:《深入理解TensorRT》写作计划启动

深入理解TensorRT&#xff1a;从原理到实战的推理优化之路 在AI模型越来越“重”的今天&#xff0c;一个训练好的深度神经网络可能包含数亿参数&#xff0c;部署到生产环境时却常常卡在推理性能这一关。你有没有遇到过这样的场景&#xff1f;模型在PyTorch里跑得好好的&#xf…

作者头像 李华
网站建设 2026/4/13 21:23:52

总结最佳实践:形成可复制的成功模式推广全国

基于TensorRT的AI推理优化&#xff1a;打造可复制、高效率的全国部署实践 在当今AI模型日益复杂、应用场景愈发实时化的背景下&#xff0c;训练完成的模型若直接投入生产环境&#xff0c;常常“水土不服”——响应慢、吞吐低、资源消耗大。尤其是在视频监控、智能客服、工业质检…

作者头像 李华
网站建设 2026/4/17 17:57:49

企业级AI部署标准流程:训练→导出→TensorRT引擎生成

企业级AI部署标准流程&#xff1a;训练→导出→TensorRT引擎生成 在当今的AI系统部署实践中&#xff0c;一个再常见不过的场景是&#xff1a;模型在实验室里表现优异&#xff0c;准确率达标、指标亮眼&#xff0c;但一旦进入生产环境&#xff0c;推理延迟飙升、吞吐量上不去&am…

作者头像 李华
网站建设 2026/4/18 8:40:04

【GitHub项目推荐--MONAI:医疗影像AI开源工具库】

简介 ​MONAI​&#xff08;Medical Open Network for AI&#xff09;是一个专为医疗影像分析设计的开源AI工具包&#xff0c;由学术界、工业界和临床研究人员共同开发维护。项目采用Apache 2.0开源协议&#xff0c;旨在为医疗影像AI研究提供标准化、高性能的深度学习解决方案…

作者头像 李华
网站建设 2026/4/18 8:42:12

多语言支持方案:为不同地区用户提供定制化镜像

多语言支持方案&#xff1a;为不同地区用户提供定制化镜像 在全球化浪潮下&#xff0c;AI 应用早已不再局限于单一市场。从东南亚的语音助手到中东的智能客服&#xff0c;用户对本地化体验的要求越来越高——不仅要“能听懂”&#xff0c;还要“快响应”、“低功耗”。然而&…

作者头像 李华
网站建设 2026/4/18 8:19:51

EDM邮件营销模板:唤醒沉睡的潜在客户

EDM邮件营销模板&#xff1a;唤醒沉睡的潜在客户 在大多数企业的用户数据库里&#xff0c;都藏着一个“沉默的大多数”——那些曾经注册、浏览甚至加购&#xff0c;却再也没有后续动作的潜在客户。他们不是流失了&#xff0c;只是暂时睡着了。而一次精心设计的EDM&#xff08;电…

作者头像 李华