3588AdminBackend/scripts/deploy/uninstall.sh
2026-02-25 11:00:55 +08:00

80 lines
2.0 KiB
Bash

#!/bin/bash
# 3588AdminBackend 卸载脚本
set -e
INSTALL_DIR="${1:-/opt/3588admin}"
echo "========== 3588AdminBackend 卸载 =========="
echo "安装目录: $INSTALL_DIR"
echo ""
# 检查 root 权限
if [ "$EUID" -ne 0 ]; then
echo "错误: 请使用 sudo 运行卸载脚本"
exit 1
fi
# 确认
read -p "确定要完全卸载 3588AdminBackend? 此操作不可恢复! (y/N): " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
echo "卸载已取消"
exit 0
fi
# 1. 停止服务
echo "[1/4] 停止服务..."
if [ -f "$INSTALL_DIR/scripts/stop.sh" ]; then
"$INSTALL_DIR/scripts/stop.sh" 2>/dev/null || true
fi
# 停止 systemd 服务
if systemctl is-active --quiet 3588admin 2>/dev/null; then
echo " 停止 systemd 服务..."
systemctl stop 3588admin
fi
if systemctl is-enabled --quiet 3588admin 2>/dev/null; then
echo " 禁用开机自启..."
systemctl disable 3588admin
fi
# 2. 删除 systemd 服务文件
echo "[2/4] 删除 Systemd 服务..."
if [ -f "/etc/systemd/system/3588admin.service" ]; then
rm -f "/etc/systemd/system/3588admin.service"
systemctl daemon-reload
echo " 已删除 systemd 服务"
fi
# 3. 删除快捷方式
echo "[3/4] 删除快捷方式..."
rm -f /usr/local/bin/3588admin-start
rm -f /usr/local/bin/3588admin-stop
rm -f /usr/local/bin/3588admin-status
echo " 已删除命令快捷方式"
# 4. 备份并删除安装目录
echo "[4/4] 删除安装文件..."
if [ -d "$INSTALL_DIR" ]; then
# 备份配置
BACKUP_DIR=""
if [ -f "$INSTALL_DIR/config/managerd.json" ]; then
BACKUP_DIR="/root/3588admin-backup-$(date +%Y%m%d%H%M%S)"
mkdir -p "$BACKUP_DIR"
cp "$INSTALL_DIR/config/managerd.json" "$BACKUP_DIR/"
echo " 配置已备份到: $BACKUP_DIR/"
fi
rm -rf "$INSTALL_DIR"
echo " 已删除安装目录: $INSTALL_DIR"
fi
echo ""
echo "========== 卸载完成 =========="
echo "3588AdminBackend 已完全卸载"
if [ -n "$BACKUP_DIR" ]; then
echo "配置文件备份: $BACKUP_DIR/managerd.json"
fi