云计算学习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"`
`
相关推荐
y = xⁿ1 天前
DeepSeek Harness 学习日记:关于Agent接口,工具调用的底层实现
android·java·学习
HugoStudio_SWAN1 天前
【擦除重绘】C++ 控制台动画:弹跳 Logo DVD 屏保效果
开发语言·c++·学习·程序人生
sakiko_1 天前
Swift学习笔记42-SwiftUI的属性包装器(讲解+面试)
笔记·学习·ios·swiftui·swift
存在morning1 天前
【Paimon 学习笔记 三】工作流程:Paimon 的批写、流写、批读与流读
笔记·学习
老当益壮梁奶奶1 天前
Linux软件编程学习笔记(八):进程间通信详解(1)
linux·c语言·笔记·学习·算法
凯尔萨厮1 天前
Java学习笔记十(注解)
java·笔记·学习
JoannaJuanCV1 天前
VLM学习-SFT(监督微调)
深度学习·学习·机器学习·大模型·视觉大模型·vlm·视觉编码器
程序员大雄学编程1 天前
微积分43. 无穷积分入门:从概念到Python实战可视化
开发语言·python·学习·微积分
一条破秋裤1 天前
STM32 学习笔记:GPIO 输出实验——LED 闪烁、流水灯与蜂鸣器
笔记·stm32·学习
2601_962073971 天前
【MySQL】全面学习数据库查询技巧:查询指令深度学习指南
数据库·学习·mysql