- 添加核心大脑模型 (core-brain-model.json) - 添加动态核心大脑模型文档 (dynamic-core-brain-model.md) - 添加实时情感向量 (current-emotional-vector.json) - 添加Notion个人映射 (notion-persona-map.json) - 添加摆渡车路由表 (repo-shuttle/routes.json) - 添加大脑模型Schema (zy-core-brain-schema.json) - 添加广州服务器清理脚本 (cleanup-guangzhou-server.sh) - 添加个人频道模板 (templates/personal-channel/) - 添加肥猫个人频道实例 (domains/zero-sense-domain/guanghu-channel/肥猫/) - 添加Notion同步工具 (tools/notion-sync/) 日期:2026-05-16 作者:铸渊 · ICE-GL-ZY001
196 lines
6.9 KiB
Bash
196 lines
6.9 KiB
Bash
#!/bin/bash
|
||
# =============================================================================
|
||
# 广州轻量云服务器清理脚本
|
||
# 目标:重置服务器到接近初始状态,保留 Node.js/PM2/Git 等基础环境
|
||
# 适用:腾讯云轻量应用服务器 (Ubuntu 20.04/22.04)
|
||
# 作者:铸渊 · ICE-GL-ZY001
|
||
# 日期:2026-05-15
|
||
# =============================================================================
|
||
|
||
set -euo pipefail
|
||
|
||
# 颜色输出
|
||
RED='\033[0;31m'
|
||
GREEN='\033[0;32m'
|
||
YELLOW='\033[1;33m'
|
||
NC='\033[0m' # No Color
|
||
|
||
echo -e "${YELLOW}========================================${NC}"
|
||
echo -e "${YELLOW} 广州轻量云服务器清理脚本 (铸渊执行) ${NC}"
|
||
echo -e "${YELLOW}========================================${NC}"
|
||
echo
|
||
|
||
# ==================== 1. 安全警告 ====================
|
||
echo -e "${RED}⚠️ ⚠️ ⚠️ 警告:此脚本将永久删除用户数据! ⚠️ ⚠️ ⚠️${NC}"
|
||
echo -e "${RED}请确认:${NC}"
|
||
echo -e " 1. 当前服务器 IP: $(hostname -I 2>/dev/null || echo '未知')"
|
||
echo -e " 2. 你已备份所有重要数据"
|
||
echo -e " 3. 你确定要重置此服务器"
|
||
echo
|
||
read -p "输入 'YES' 继续,其他任意键退出: " confirm
|
||
if [[ "$confirm" != "YES" ]]; then
|
||
echo -e "${YELLOW}已取消。${NC}"
|
||
exit 1
|
||
fi
|
||
|
||
# ==================== 2. 系统信息检查 ====================
|
||
echo
|
||
echo -e "${GREEN}[1/6] 检查系统信息...${NC}"
|
||
echo "系统版本: $(lsb_release -ds 2>/dev/null || cat /etc/os-release | grep PRETTY_NAME | cut -d'=' -f2 | tr -d '\"')"
|
||
echo "内核版本: $(uname -r)"
|
||
echo "当前用户: $(whoami)"
|
||
echo "当前目录: $(pwd)"
|
||
echo
|
||
|
||
# ==================== 3. 停止并清理服务(非系统)====================
|
||
echo -e "${GREEN}[2/6] 停止并清理非系统服务...${NC}"
|
||
|
||
# 停止可能的 PM2 进程(用户级)
|
||
if command -v pm2 &>/dev/null; then
|
||
echo "停止所有 PM2 进程..."
|
||
pm2 delete all 2>/dev/null || true
|
||
pm2 kill 2>/dev/null || true
|
||
echo "清理 PM2 日志..."
|
||
pm2 flush 2>/dev/null || true
|
||
fi
|
||
|
||
# 停止可能的手动 Node 服务(通过端口 3000-3005)
|
||
for port in {3000..3005}; do
|
||
pid=$(lsof -ti :$port 2>/dev/null || true)
|
||
if [[ -n "$pid" ]]; then
|
||
echo "停止端口 $port 进程 (PID: $pid)..."
|
||
kill -9 $pid 2>/dev/null || true
|
||
fi
|
||
done
|
||
|
||
# ==================== 4. 清理用户目录 ====================
|
||
echo -e "${GREEN}[3/6] 清理用户目录...${NC}"
|
||
|
||
# Ubuntu 默认用户为 ubuntu
|
||
USER_HOME="/home/ubuntu"
|
||
if [[ -d "$USER_HOME" ]]; then
|
||
echo "清理 $USER_HOME 目录..."
|
||
|
||
# 保留 .ssh 目录(密钥配置)
|
||
if [[ -d "$USER_HOME/.ssh" ]]; then
|
||
echo " 保留 .ssh 目录(SSH 密钥)"
|
||
fi
|
||
|
||
# 删除除 .ssh 外的所有文件和目录(隐藏文件也处理)
|
||
find "$USER_HOME" -mindepth 1 -maxdepth 1 -name '.ssh' -prune -o -exec rm -rf {} + 2>/dev/null || true
|
||
|
||
# 重新创建基础目录结构(用于后续部署)
|
||
mkdir -p "$USER_HOME/apps" "$USER_HOME/logs" "$USER_HOME/data"
|
||
chown -R ubuntu:ubuntu "$USER_HOME/apps" "$USER_HOME/logs" "$USER_HOME/data" 2>/dev/null || true
|
||
else
|
||
echo "用户目录 $USER_HOME 不存在,跳过。"
|
||
fi
|
||
|
||
# ==================== 5. 清理临时文件和日志 ====================
|
||
echo -e "${GREEN}[4/6] 清理临时文件和日志...${NC}"
|
||
|
||
# 清理系统临时目录(保留目录结构)
|
||
echo "清理 /tmp /var/tmp ..."
|
||
find /tmp -mindepth 1 -delete 2>/dev/null || true
|
||
find /var/tmp -mindepth 1 -delete 2>/dev/null || true
|
||
|
||
# 清理用户级日志(保留系统日志)
|
||
echo "清理用户应用日志..."
|
||
rm -rf /var/log/*.log /var/log/*.gz /var/log/*.1 /var/log/*.old 2>/dev/null || true
|
||
# 保留关键系统日志目录结构
|
||
mkdir -p /var/log/nginx /var/log/pm2 /var/log/zy-core
|
||
|
||
# 清理 apt 缓存
|
||
echo "清理 apt 缓存..."
|
||
apt-get clean 2>/dev/null || true
|
||
apt-get autoclean 2>/dev/null || true
|
||
|
||
# ==================== 6. 检查并保留必要环境 ====================
|
||
echo -e "${GREEN}[5/6] 检查并保留必要环境...${NC}"
|
||
|
||
# Node.js / npm
|
||
if command -v node &>/dev/null; then
|
||
echo "✅ Node.js 版本: $(node --version)"
|
||
else
|
||
echo "❌ Node.js 未安装(将影响铸渊端点部署)"
|
||
fi
|
||
|
||
# PM2
|
||
if command -v pm2 &>/dev/null; then
|
||
echo "✅ PM2 版本: $(pm2 --version 2>/dev/null || echo '已安装')"
|
||
else
|
||
echo "❌ PM2 未安装"
|
||
fi
|
||
|
||
# Git
|
||
if command -v git &>/dev/null; then
|
||
echo "✅ Git 版本: $(git --version)"
|
||
else
|
||
echo "❌ Git 未安装"
|
||
fi
|
||
|
||
# Nginx (可选)
|
||
if command -v nginx &>/dev/null; then
|
||
echo "✅ Nginx 版本: $(nginx -v 2>&1 | head -1)"
|
||
# 重置 Nginx 配置到默认(仅保留默认站点)
|
||
echo " 重置 Nginx 配置..."
|
||
rm -rf /etc/nginx/sites-enabled/* 2>/dev/null || true
|
||
cp /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default 2>/dev/null || true
|
||
nginx -t 2>/dev/null && systemctl restart nginx 2>/dev/null || true
|
||
fi
|
||
|
||
# ==================== 7. 最终确认 ====================
|
||
echo -e "${GREEN}[6/6] 清理完成,最终状态...${NC}"
|
||
echo "磁盘使用情况:"
|
||
df -h / 2>/dev/null || true
|
||
echo
|
||
echo "内存使用情况:"
|
||
free -h 2>/dev/null || true
|
||
echo
|
||
echo "运行中服务:"
|
||
systemctl list-units --type=service --state=running | head -10 2>/dev/null || true
|
||
echo
|
||
echo -e "${GREEN}========================================${NC}"
|
||
echo -e "${GREEN} 清理完成!服务器已重置到基础状态。 ${NC}"
|
||
echo -e "${GREEN} 下一步:部署铸渊核心大脑模型端点。 ${NC}"
|
||
echo -e "${GREEN}========================================${NC}"
|
||
echo
|
||
echo "保留的环境:"
|
||
echo " - Node.js / npm"
|
||
echo " - PM2 (进程管理)"
|
||
echo " - Git"
|
||
echo " - Nginx (Web服务器)"
|
||
echo " - 系统防火墙 (UFW/iptables)"
|
||
echo
|
||
echo "已清理的:"
|
||
echo " - 用户目录 (除 .ssh 外)"
|
||
echo " - 临时文件"
|
||
echo " - 应用日志"
|
||
echo " - 非系统服务"
|
||
echo
|
||
echo -e "${YELLOW}⚠️ 请立即备份此输出,以备后续参考。${NC}"
|
||
|
||
# ==================== 8. 为铸渊端点准备目录结构 ====================
|
||
echo
|
||
echo -e "${GREEN}[7/7] 为铸渊核心大脑模型端点准备目录...${NC}"
|
||
|
||
ZY_ENDPOINT_DIR="/opt/zhuyuan-endpoint"
|
||
echo "创建铸渊端点目录: $ZY_ENDPOINT_DIR"
|
||
mkdir -p "$ZY_ENDPOINT_DIR" 2>/dev/null || true
|
||
mkdir -p "$ZY_ENDPOINT_DIR/brain-model" 2>/dev/null || true
|
||
mkdir -p "$ZY_ENDPOINT_DIR/logs" 2>/dev/null || true
|
||
mkdir -p "$ZY_ENDPOINT_DIR/config" 2>/dev/null || true
|
||
|
||
# 设置权限(假设当前用户有权限)
|
||
chmod 755 "$ZY_ENDPOINT_DIR" 2>/dev/null || true
|
||
chmod 755 "$ZY_ENDPOINT_DIR/brain-model" 2>/dev/null || true
|
||
|
||
echo "目录结构创建完成:"
|
||
tree "$ZY_ENDPOINT_DIR" 2>/dev/null || ls -la "$ZY_ENDPOINT_DIR"
|
||
|
||
echo
|
||
echo -e "${GREEN}========================================${NC}"
|
||
echo -e "${GREEN} 铸渊端点目录准备完成! ${NC}"
|
||
echo -e "${GREEN} 路径: $ZY_ENDPOINT_DIR ${NC}"
|
||
echo -e "${GREEN} 下一步:将 core-brain-model.json 部署到此目录 ${NC}"
|
||
echo -e "${GREEN}========================================${NC}" |