云计算学习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"`
`
相关推荐
世人万千丶3 小时前
参数管理_Flutter在鸿蒙平台路由参数最佳实践
学习·flutter·华为·harmonyos·鸿蒙
遇乐的果园6 小时前
前端学习笔记-vue加载渲染优化
前端·笔记·学习
遇乐的果园7 小时前
前端学习笔记-vue状态管理优化
前端·笔记·学习
从零开始的代码生活_8 小时前
C++ 继承详解:访问控制、对象模型、菱形继承与设计取舍
开发语言·c++·后端·学习·算法
可乐奶茶sky8 小时前
AI Agent 学习
人工智能·学习
茯苓gao9 小时前
嵌入式开发笔记:EtherCAT协议从硬件到软件完整配置指南——从零搭建一套EtherCAT通信系统
笔记·嵌入式硬件·学习
RD_daoyi11 小时前
外链权重暴跌至13%,品牌提及反超传统链接——2026年不做Digital PR,你的独立站等于隐形
运维·网络·学习·机器学习·搜索引擎
chase。11 小时前
【学习笔记】PointWorld:迈向通用机器人操控的3D世界模型
笔记·学习·机器人
AOwhisky12 小时前
Python 学习笔记(第十三期)——运维自动化(下·前篇):远程命令执行——paramiko基础篇
运维·python·学习·云原生·自动化·运维开发·paramiko
前端世界12 小时前
MySQL 基础入门(学习第4天)——约束与 DML 操作详解
数据库·学习·mysql