mirror of
https://github.com/hotyue/IP-Sentinel.git
synced 2026-09-06 16:07:31 +08:00
chore(core/uninstall): 升级无痕焦土卸载策略,引入 pkill 语法并彻底抹除 /tmp 系统缓存碎屑
This commit is contained in:
+26
-25
@@ -1,48 +1,49 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# ==========================================================
|
# ==========================================================
|
||||||
# 脚本名称: uninstall.sh (IP-Sentinel 一键卸载脚本 V2.0)
|
# 脚本名称: uninstall.sh (IP-Sentinel 一键卸载脚本 V3.1.4 焦土版)
|
||||||
# 核心功能: 清除所有世代的守护进程、清理系统定时任务、删除程序文件
|
# 核心功能: 无痕清理守护进程、定时任务、运行目录及临时缓存
|
||||||
# ==========================================================
|
# ==========================================================
|
||||||
|
|
||||||
INSTALL_DIR="/opt/ip_sentinel"
|
INSTALL_DIR="/opt/ip_sentinel"
|
||||||
|
|
||||||
echo "========================================================"
|
echo "========================================================"
|
||||||
echo " 🗑️ 准备卸载 IP-Sentinel (VPS IP 自动养护哨兵)"
|
echo " 🗑️ 准备卸载 IP-Sentinel (边缘节点 Edge Agent)"
|
||||||
echo "========================================================"
|
echo "========================================================"
|
||||||
|
|
||||||
# 1. 停止运行中的守护进程与主控模块 (涵盖 V1.0 至 V2.0 架构全量进程)
|
# 1. 停止运行中的守护进程与主控模块 (涵盖所有历史版本进程)
|
||||||
echo "[1/3] 正在终止后台守护进程与所有养护任务..."
|
echo "[1/3] 正在终止后台守护进程与所有养护任务..."
|
||||||
|
|
||||||
# 击杀旧版 (V1.x) 遗留进程
|
# 使用 pkill 替代传统的 pgrep | xargs,指令更短、容错率更高
|
||||||
pgrep -f tg_daemon.sh | xargs -r kill -9 >/dev/null 2>&1
|
pkill -9 -f "tg_daemon.sh" >/dev/null 2>&1
|
||||||
|
pkill -9 -f "agent_daemon.sh" >/dev/null 2>&1
|
||||||
# 击杀新版 (V2.x) 神经末梢守护进程
|
pkill -9 -f "webhook.py" >/dev/null 2>&1
|
||||||
pgrep -f agent_daemon.sh | xargs -r kill -9 >/dev/null 2>&1
|
pkill -9 -f "runner.sh" >/dev/null 2>&1
|
||||||
pgrep -f webhook.py | xargs -r kill -9 >/dev/null 2>&1
|
pkill -9 -f "updater.sh" >/dev/null 2>&1
|
||||||
|
pkill -9 -f "tg_report.sh" >/dev/null 2>&1
|
||||||
# 击杀调度引擎与更新/战报模块
|
pkill -9 -f "mod_google.sh" >/dev/null 2>&1
|
||||||
pgrep -f runner.sh | xargs -r kill -9 >/dev/null 2>&1
|
pkill -9 -f "mod_trust.sh" >/dev/null 2>&1
|
||||||
pgrep -f updater.sh | xargs -r kill -9 >/dev/null 2>&1
|
|
||||||
pgrep -f tg_report.sh | xargs -r kill -9 >/dev/null 2>&1
|
|
||||||
|
|
||||||
# 击杀所有具体的业务执行模块
|
|
||||||
pgrep -f mod_google.sh | xargs -r kill -9 >/dev/null 2>&1
|
|
||||||
pgrep -f mod_trust.sh | xargs -r kill -9 >/dev/null 2>&1
|
|
||||||
|
|
||||||
# 2. 清除系统定时任务 (Cron)
|
# 2. 清除系统定时任务 (Cron)
|
||||||
echo "[2/3] 正在清理系统定时任务 (Cron)..."
|
echo "[2/3] 正在清理系统定时任务 (Cron)..."
|
||||||
crontab -l 2>/dev/null | grep -v "ip_sentinel" > /tmp/cron_backup
|
if crontab -l >/dev/null 2>&1; then
|
||||||
crontab /tmp/cron_backup
|
crontab -l | grep -v "ip_sentinel" > /tmp/cron_backup
|
||||||
rm -f /tmp/cron_backup
|
crontab /tmp/cron_backup
|
||||||
|
rm -f /tmp/cron_backup
|
||||||
|
fi
|
||||||
|
|
||||||
# 3. 删除所有文件与日志
|
# 3. 删除所有文件、日志与临时缓存
|
||||||
echo "[3/3] 正在抹除核心程序、配置文件与系统日志..."
|
echo "[3/3] 正在抹除核心程序、配置文件与系统痕迹..."
|
||||||
if [ -d "$INSTALL_DIR" ]; then
|
if [ -d "$INSTALL_DIR" ]; then
|
||||||
rm -rf "$INSTALL_DIR"
|
rm -rf "$INSTALL_DIR"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# 拔除 /tmp 目录下的所有更新下载临时文件和 V1/V2 遗留的偏移量记录
|
||||||
|
rm -f /tmp/ip_sentinel_*.txt
|
||||||
|
rm -f /tmp/ip_sentinel_*.json
|
||||||
|
|
||||||
echo "========================================================"
|
echo "========================================================"
|
||||||
echo "✅ 卸载彻底完成!IP-Sentinel 已从您的系统中无痕移除。"
|
echo "✅ 卸载彻底完成!IP-Sentinel 已从您的系统中无痕移除。"
|
||||||
echo "👋 感谢您的使用,期待未来再次为您守护 IP!"
|
echo "💡 提示:如果安装时在防火墙放行了 Webhook 随机端口,请您按需手动关闭。"
|
||||||
|
echo "👋 感谢您的使用,期待未来再次为您守护资产!"
|
||||||
echo "========================================================"
|
echo "========================================================"
|
||||||
Reference in New Issue
Block a user