#!/bin/bash # 从导航页移除 sysBuddy 卡片(隐私:不放公开首页),服务本身保留 set -u NAV=/var/www/tecsi-nav/index.html TS=$(date +%Y%m%d-%H%M%S) BK="/root/backups/tecsi-nav.pre-remove-sysbuddy-$TS.html" echo "===================== 0. 备份 =====================" cp -a "$NAV" "$BK"; echo " -> $BK" echo echo "===================== 1. 移除卡片 / 探针 / 配色 =====================" /usr/bin/python3 - <<'PY' import re, sys p = '/var/www/tecsi-nav/index.html' t = open(p, encoding='utf-8').read() before = t # 1) 卡片块 card = re.search(r'\n\s*.*?\n', t, re.S) if card: t = t[:card.start()] + '\n' + t[card.end():] print(" ✓ 已移除 sysBuddy 卡片块") else: print(" · 没找到卡片块(可能已移除)") # 2) JS 状态探针 t2 = re.sub(r'\n\s*\{ id: \'st-sb\'[^\n]*\},?', '', t) if t2 != t: print(" ✓ 已移除状态探针 st-sb") t = t2 else: print(" · 没找到探针行") # 3) 配色规则(不再被使用) t2 = re.sub(r'\n\s*\.sb \{ background:[^\n]*\}', '', t) if t2 != t: print(" ✓ 已移除未使用的 .sb 配色规则") t = t2 if t == before: print(" ⚠️ 没有任何改动") open(p, 'w', encoding='utf-8').write(t) PY echo echo "===================== 2. 校验 =====================" echo " 卡片数(应 5): $(grep -c 'class="card' "$NAV")" echo " 剩余卡片: $(grep -o 'class="card [a-z]*"' "$NAV" | sort | uniq -c | tr '\n' ' ')" echo " 文中 sysbuddy 出现次数(应 0): $(grep -ci 'sysbuddy' "$NAV")" echo " musicBuddy 还在: $(grep -c 'musicbuddy' "$NAV")" echo echo "===================== 3. 站点回归 =====================" for p in / /musicbuddy/ /dwork/ /opsbuddy/ /timebuddy/ /honeypaw/ /sysbuddy/api/health; do echo " https://www.tecsi.cn$p -> $(curl -s -o /dev/null -w '%{http_code}' -m 10 "https://www.tecsi.cn$p")" done echo echo " sysBuddy 服务本身仍在(你有链接+口令就能看,只是不在公开首页):" echo " systemd: $(systemctl is-active sysbuddy-viewer 2>/dev/null)" echo " 首页是否还提到它: $(curl -s -m 8 https://www.tecsi.cn/ | grep -ci sysbuddy) 处"