码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 根据nginx日志统计页面访问次数


     静态页面部署在nginx上,页面只有查看下载功能。

    需求是统计每条访问次数和下载次数,根据日志分析写了一个shell脚本,触发脚本后生成一个html可以远程查看统计的数量。

    1. #!/bin/bash
    2. # nginx日志文件路径
    3. LOG_FILE="/usr/local/nginx/logs/access.log"
    4. #统计访问IP
    5. #_index=$(grep "GET /public/index.html" "$LOG_FILE" | awk -F' ' '{print $1}' | sort | uniq -c)
    6. #_pdf=$(grep "GET /public/11.15.pdf" "$LOG_FILE" | awk -F' ' '{print $1}' | sort | uniq -c)
    7. #统计访问链接
    8. _index=$(grep "GET /public/index.html" "$LOG_FILE" |awk -F'[][]' '{print $2}')
    9. _pdf=$(grep "GET /public/11.15.pdf" "$LOG_FILE" | awk -F'[][]' '{print $2}')
    10. #结果写入日志
    11. echo "$_index" > public_index_access.log
    12. echo "$_pdf" > public_pdf_access.log
    13. #进行统计
    14. echo "index.html access:
      "
      > public_access.log
    15. cut -d: -f1 public_index_access.log | sort | uniq -c| awk '{print $2, $1}'| awk '{print $0, "
      "}'
      >> public_access.log
    16. echo "

      pdf access:
      "
      >> public_access.log
    17. cut -d: -f1 public_pdf_access.log | sort | uniq -c| awk '{print $2, $1}'| awk '{print $0, "
      "}'
      >> public_access.log
    18. sleep 1
    19. # 将访问统计数据插入到HTML页面中
    20. ACCESS_STATS="$(cat public_access.log)"
    21. html_content='
    22. 访问统计
    23. 访问统计数据

    24. '$ACCESS_STATS'
    25. '
    26. # 将内容写入 HTML 文件
    27. echo "$html_content" > index.html
    28. # 输出成功信息
    29. echo "HTML file generated: index.html"

  • 相关阅读:
    python统计字符串字符出现次数
    【零基础入门MyBatis系列】第十一篇——动态SQL
    将Java项目Jar包制作成Docker镜像
    Pointnet++改进即插即用系列:全网首发Star_Block星型操作 |即插即用,提升特征提取模块性能
    Css问题:推荐几个超好看渐变色!项目中可用
    .NET Emit 入门教程:第六部分:IL 指令:6:详解 ILGenerator 指令方法:方法调用指令
    4. SAP ABAP OData 服务 Data Provider Class 的 GET_ENTITYSET 方法实现指南
    小程序源码:社群微群人脉系统-多玩法安装简单
    微软真是活菩萨,面向初学者的机器学习、数据科学、AI、LLM课程统统免费
    四十四、​Fluent 收敛标准-质量和能量守恒
  • 原文地址:https://blog.csdn.net/qq_36802726/article/details/134516133
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号