云计算学习100天-第17天

日志分析脚本

分析Apache日志,统计每个IP访问服务器的次数

复制代码
#/bin/bash`
`#日志文件格式如下:`
`#201.28.117.13 - - [08/Apr/2024:11:45:16 +0800] "GET / HTTP/1.1" 200 615 "-" "curl/7.61.1"`

`awk '{ip[$1]++}END{for(i in ip){print ip[i],i }}' /var/log/httpd/access_log `
`

分析Nginx日志,统计每个IP访问服务器的次数

假设nginx日志在/usr/local/nginx/logs/access.log

复制代码
#/bin/bash`
`awk '{ip[$1]++}END{for(i in ip){print ip[i],i }}'` `/usr/local/nginx/logs/access.log`
`

网络连接分析,统计当前系统tcp和udp连接个数 (使用ss可以查看网络连接状态)

root@new \~# ss -Hanutp

udp UNCONN 0 0 127.0.0.1:323 0.0.0.0:* users:(("chronyd",pid=495,fd=5))

tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=529,fd=3))

tcp LISTEN 0 128 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=9714,fd=6),("nginx",pid=9713,fd=6))

tcp ESTAB 0 0 192.168.88.10:22 192.168.88.254:50622 users:(("sshd",pid=622,fd=4),("sshd",pid=620,fd=4))

版本1:不使用awk数组的版本

复制代码
#/bin/bash`
`# 获取TCP连接数  `
`tcp_count=$(ss -an | grep ^tcp | wc -l)`  
`# 获取UDP连接数  `
`udp_count=$(ss -an | grep ^udp | wc -l)`  
`# 输出结果  `
`echo` `"TCP 连接数: $tcp_count"`  
`echo` `"UDP 连接数: $udp_count"`
`

版本2:使用awk数组的版本

复制代码
#/bin/bash`
`# 获取TCP连接数  `
`tcp_count=$(ss -an | awk '/^tcp/{ip[$1]++}END{for(i in ip){print ip[i]}}')`  
`# 获取UDP连接数  `
`udp_count=$(ss -an | awk '/^udp/{ip[$1]++}END{for(i in ip){print ip[i]}}')`  
`# 输出结果  `
`echo` `"TCP 连接数: $tcp_count"`  
`echo` `"UDP 连接数: $udp_count"`
`
相关推荐
小弥儿19 分钟前
Firecrawl:把整个网页变成 AI 可查询的数据库
数据库·人工智能·学习
woshihuanglaoshi21 分钟前
鸿蒙老旧项目升级改造高级:API废弃迁移/ArkTS语法升级/架构重构策略/增量迁移/风险管控方案
学习·华为·重构·架构·harmonyos·鸿蒙
zhangrelay22 分钟前
ROS 2 Lyrical 第2章 ROS 2系统架构与核心概念
linux·笔记·学习·ubuntu·ros2
云空29 分钟前
《软件专业完整学习路线图(本科4年+自学通用版,2026就业向)》
人工智能·科技·学习·计算机·编程·软件
油丶酸萝卜别吃9 小时前
前端转全栈学习路线
前端·学习
GlueNa2SiO312 小时前
第十八章 Linux故障排查与恢复
linux·服务器·笔记·学习
weixin_4316004413 小时前
NestJS 入门(3):Guard 如何挡住未登录请求?
前端·后端·学习·nest.js
带娃的IT创业者13 小时前
DeepTutor:当 Agent-Native 架构撞上个性化学习的临界点
学习·架构·ai agent·大模型应用·个性化学习·教育技术·agent-native架构
xian_wwq13 小时前
【学习笔记】Context Engineering,AI Agent 真正的内存管理-4/16
笔记·学习·context
寒月小酒14 小时前
AnythingLLM 学习
学习