云计算学习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"` ` ```

相关推荐
西岸行者6 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意6 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码6 天前
嵌入式学习路线
学习
毛小茛6 天前
计算机系统概论——校验码
学习
babe小鑫7 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms7 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下7 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。7 天前
2026.2.25监控学习
学习
im_AMBER7 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J7 天前
从“Hello World“ 开始 C++
c语言·c++·学习