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

相关推荐
say_fall14 小时前
C语言编程实战:每日刷题 - day 1
c语言·开发语言·学习
小苏兮14 小时前
【把Linux“聊”明白】进程的概念与状态
linux·运维·服务器·学习
楼田莉子14 小时前
C++/Linux小项目:自主shell命令解释器
linux·服务器·开发语言·c++·后端·学习
多喝开水少熬夜15 小时前
SlaugFL论文阅读学习
论文阅读·学习
搞机械的假程序猿15 小时前
普中51单片机学习笔记-按键
笔记·学习·51单片机
CodeLongBear15 小时前
MySQL进阶学习笔记:从单表查询到多表关联的深度解析(万字详解)
笔记·学习·mysql
下午见。16 小时前
【C语言学习笔记】动态内存分配:malloc/free的正确打开方式
c语言·笔记·学习
Rock_yzh17 小时前
LeetCode算法刷题——49. 字母异位词分组
数据结构·c++·学习·算法·leetcode·职场和发展·哈希算法
Wayfreem17 小时前
Spring AI Alibaba 学习之最简单的快速入门
人工智能·学习·spring
再玩一会儿看代码17 小时前
Ken的Java学习之路——Java中关于面向对象
java·开发语言·经验分享·python·学习