代码 网站日志分析脚本

2024-11-19 03:48:35 +0800 CST views 1000

网站日志分析脚本

该脚本用于分析网站日志,以统计独立访客数量和搜索引擎蜘蛛的访问次数。此工具有助于了解网站流量和搜索引擎爬虫的行为,从而优化网站的SEO表现。

使用说明

运行脚本时,用户可选择执行以下操作之一:

  1. 统计当前网站的独立访客数。
  2. 统计搜索引擎蜘蛛的爬取次数。

根据选择的操作,脚本会分析指定目录下的日志文件,并输出统计结果。

脚本代码

#!/bin/bash

# 定义日志目录
LOG_DIR="/www/wwwlogs"

# 定义输出文件,保存在当前运行目录
OUTPUT_FILE="$(pwd)/ip_count_summary.txt"

# 获取当前日期
TODAY=$(date +"%d/%b/%Y")

# 提示用户选择操作
echo "请选择要执行的操作:"
echo "1. 统计当前网站独立访客数"
echo "2. 统计搜索引擎蜘蛛的爬取次数"
read -p "输入数字 1 或 2 并按回车: " OPTION

# 清空输出文件内容
> "$OUTPUT_FILE"

# 根据用户选择执行操作
if [ "$OPTION" == "1" ]; then
    echo "正在统计当前网站的独立访客数..."

    # 遍历日志目录中的每个 .log 文件
    for LOG_FILE in "$LOG_DIR"/*.log; do
        # 获取日志文件名(去除后缀)
        LOG_NAME=$(basename "$LOG_FILE" .log)
        
        # 统计当天独立IP的访问次数
        IP_COUNT=$(grep "$TODAY" "$LOG_FILE" | awk '{print $1}' | sort | uniq | wc -l)
        
        # 输出文件名和独立IP访问次数
        echo "$LOG_NAME, $IP_COUNT" >> "$OUTPUT_FILE"
    done

elif [ "$OPTION" == "2" ]; then
    echo "正在统计搜索引擎蜘蛛的爬取次数..."

    # 定义常见搜索引擎蜘蛛标识
    SPIDERS=("Baiduspider" "Googlebot" "YandexBot" "bingbot" "Sogou" "Slurp")

    # 遍历日志目录中的每个 .log 文件
    for LOG_FILE in "$LOG_DIR"/*.log; do
        # 获取日志文件名(去除后缀)
        LOG_NAME=$(basename "$LOG_FILE" .log)

        # 初始化蜘蛛爬取次数统计
        SPIDER_COUNT=0

        # 统计每个蜘蛛的访问次数
        for SPIDER in "${SPIDERS[@]}"; do
            COUNT=$(grep "$TODAY" "$LOG_FILE" | grep -i "$SPIDER" | wc -l)
            SPIDER_COUNT=$((SPIDER_COUNT + COUNT))
        done

        # 输出文件名和蜘蛛爬取次数
        echo "$LOG_NAME, $SPIDER_COUNT" >> "$OUTPUT_FILE"
    done

else
    echo "无效的选项,请输入数字 1 或 2."
    exit 1
fi

# 对结果进行排序并保存
sort -t, -k2,2nr "$OUTPUT_FILE" -o "$OUTPUT_FILE"

# 提示操作完成
echo "完成!结果已写入 $OUTPUT_FILE"

关键功能

  • 独立访客统计:统计当天访问网站的独立IP数量,了解网站流量状况。
  • 搜索引擎蜘蛛统计:监控主要搜索引擎的爬虫行为,优化网站SEO策略。

总结

此脚本是监控网站流量和搜索引擎爬取活动的重要工具,可帮助站长更好地分析网站表现,并根据数据优化SEO策略。运行后,结果将保存至当前目录下的 ip_count_summary.txt 文件中。


Tags: #网站日志 #SEO优化 #Bash脚本 #独立访客统计 #搜索引擎爬虫

复制全文 生成海报 网站日志 SEO优化 Bash脚本

推荐文章

使用 Git 制作升级包
2024-11-19 02:19:48 +0800 CST
如何在 Vue 3 中使用 Vuex 4?
2024-11-17 04:57:52 +0800 CST
7种Go语言生成唯一ID的实用方法
2024-11-19 05:22:50 +0800 CST
PHP解决XSS攻击
2024-11-19 02:17:37 +0800 CST
Vue3中的Scoped Slots有什么改变?
2024-11-17 13:50:01 +0800 CST
Vue3 实现页面上下滑动方案
2025-06-28 17:07:57 +0800 CST
Golang Select 的使用及基本实现
2024-11-18 13:48:21 +0800 CST
如何配置获取微信支付参数
2024-11-19 08:10:41 +0800 CST
WebSocket在消息推送中的应用代码
2024-11-18 21:46:05 +0800 CST
JavaScript 的模板字符串
2024-11-18 22:44:09 +0800 CST
支付页面html收银台
2025-03-06 14:59:20 +0800 CST
php机器学习神经网络库
2024-11-19 09:03:47 +0800 CST
使用 node-ssh 实现自动化部署
2024-11-18 20:06:21 +0800 CST
js生成器函数
2024-11-18 15:21:08 +0800 CST
PHP openssl 生成公私钥匙
2024-11-17 05:00:37 +0800 CST
pip安装到指定目录上
2024-11-17 16:17:25 +0800 CST
为什么要放弃UUID作为MySQL主键?
2024-11-18 23:33:07 +0800 CST
thinkphp swoole websocket 结合的demo
2024-11-18 10:18:17 +0800 CST
Go语言中实现RSA加密与解密
2024-11-18 01:49:30 +0800 CST
Python Invoke:强大的自动化任务库
2024-11-18 14:05:40 +0800 CST
程序员茄子在线接单