收起左侧

shell脚本实现简单的飞书消息通知

4
回复
68
查看
[ 复制链接 ]

3

主题

5

回帖

0

牛值

江湖小虾

2025-8-10 11:22:39 显示全部楼层 阅读模式
悬赏1飞牛币未解决

让GPT写了一个脚本,实现飞书机器人通知

#!/bin/bash

# --- 用户配置区 (请根据你的实际情况修改) ---

# 1. 你的 Nginx 访问日志文件完整路径
NGINX_LOG_FILE="/usr/trim/nginx/logs/access.log"

# 2. 【新】在这里定义所有你关心的日志特征(每行一个)
#    只要日志中出现下面列表中的任意一条,就会触发通知。
LOGIN_PATTERNS=(
    # --- 在下面添加或修改你的特征 ---
    "/static/app/icons/trim.download-center/icon.png"
    "POST /v1/accountapi/check"
    # --- 到此为止 ---
)

# 3. 你真实的飞书机器人 Webhook 地址
FEISHU_WEBHOOK_URL="Webhook 地址"

# --- 脚本核心逻辑 (一般无需修改) ---

# 定义一个带时间戳的日志输出函数
log_with_time() {
    echo "$(date +'%Y-%m-%d %H:%M:%S') - $1"
}

# 【新】将数组格式的特征列表,合并成一个用 "|" 分隔的字符串,以供 grep 使用
# 例如,将 ("a" "b" "c") 变为 "a|b|c"
IFS='|'
GREP_PATTERN="${LOGIN_PATTERNS[*]}"
IFS=$' \t\n' # 恢复默认的 IFS

# 检查模式列表是否为空
if [ -z "${GREP_PATTERN}" ]; then
    log_with_time "错误:监控的日志特征列表 (LOGIN_PATTERNS) 为空,请至少添加一个特征。"
    exit 1
fi


log_with_time "开始监控日志文件: ${NGINX_LOG_FILE}"
log_with_time "正在查找以下任一特征: ${GREP_PATTERN}"

# 使用 tail -F 实时监控日志文件的新增内容
# -F 参数可以应对日志文件的轮转 (log rotation)
tail -n 0 -F "${NGINX_LOG_FILE}" | while read -r line; do
    # 检查当前行是否包含我们定义的“登录成功”特征
    if echo "${line}" | grep -qE "${GREP_PATTERN}"; then
        # 从日志行中提取 IP 地址 (默认是第一个字段)
        IP_ADDRESS=$(echo "${line}" | awk '{print $1}')
  
        # 获取当前时间
        TIMESTAMP=$(date +"%Y-%m-%d %H:%M:%S")

        # 准备要发送到飞书的消息内容
        MESSAGE_TEXT="【登录提醒🔔】\n\n- 时间: ${TIMESTAMP}\n- 登录IP: ${IP_ADDRESS}"

        log_with_time "检测到登录行为,来源 IP: ${IP_ADDRESS}。正在发送飞书通知..."

        # 使用 curl 命令将消息发送到飞书
        curl -s -X POST -H "Content-Type: application/json" \
             -d '{"msg_type":"text","content":{"text":"'"${MESSAGE_TEXT}"'"}}' \
             "${FEISHU_WEBHOOK_URL}" > /dev/null
  
        # 在终端输出一个换行,方便查看
        echo ""
    fi
done
收藏
送赞
分享

18

主题

127

回帖

30

牛值

社区共建团

社区上线纪念勋章社区共建团荣誉勋章飞牛百度网盘玩家

2025-8-10 15:57:19 显示全部楼层

建议下次,这种经验分享,放在 攻略分享 飞牛私有云论坛 fnOS 这个板块handshake

怎么迁移呢,管理员能帮忙迁移么?  详情 回复
2025-8-10 20:34

3

主题

5

回帖

0

牛值

江湖小虾

2025-8-10 20:34:42 楼主 显示全部楼层
傀儡师 发表于 2025-8-10 15:57
建议下次,这种经验分享,放在 攻略分享 飞牛私有云论坛 fnOS 这个板块

怎么迁移呢,管理员能帮忙迁移么?
发都发了呗,咱下次分享在那边就是了,这边都是问问题的多,分享那边,更利于交流不是  详情 回复
2025-8-10 21:01

18

主题

127

回帖

30

牛值

社区共建团

社区上线纪念勋章社区共建团荣誉勋章飞牛百度网盘玩家

2025-8-10 21:01:10 显示全部楼层
[quote][size=2][url=forum.php?mod=redirect&goto=findpost&pid=157605&ptid=33857][color=#999999]res1598 发表于 2025-8-10 20:34[/color][/url][/size] 怎么迁移呢,管理员能帮忙迁移么?[/quote]

发都发了呗,咱下次分享在那边就是了,这边都是问问题的多,分享那边,更利于交流不是lol

我正在写新的,原来的有还有问题,一会发那边  详情 回复
2025-8-10 21:04

3

主题

5

回帖

0

牛值

江湖小虾

2025-8-10 21:04:22 楼主 显示全部楼层
傀儡师 发表于 2025-8-10 21:01
发都发了呗,咱下次分享在那边就是了,这边都是问问题的多,分享那边,更利于交流不是
...

我正在写新的,原来的有还有问题,一会发那边
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则