云计算学习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"`
`
相关推荐
小宋加油啊22 分钟前
学习机械臂相关知识
学习
十月的皮皮4 小时前
C语言学习笔记20260606- 求月份天数三种写法
c语言·笔记·学习
马士兵教育4 小时前
Java还有前景吗?Java+AI大模型学习路线及项目?
java·人工智能·python·学习·机器学习
lizhihai_995 小时前
股市学习心得-AI 产业链核心标的梳理清单
大数据·服务器·人工智能·科技·学习
吃好睡好便好6 小时前
说说科学爬山
学习·生活
lunzi_08266 小时前
【学习笔记】《Python编程 从入门到实践》第8章:函数定义、参数传递与模块导入
笔记·python·学习
零陵上将军_xdr7 小时前
后端转全栈学习-Day5-JavaScript 基础-3
开发语言·javascript·学习
05大叔8 小时前
对话系统学习,问答型数据库,闲聊型对话数据库
学习
nashane8 小时前
HarmonyOS 6商城开发学习:抢票倒计时与系统日历提醒——票务类场景的完整落地思路
学习·华为·harmonyos