#!/bin/bash # 1. 参数检查 DATA_ROOT=${1:-""} if [ -z "$DATA_ROOT" ]; then echo "❌ 用法: $0 <数据根目录>" echo "例如: $0 /data" exit 1 fi LOG_DIR="$DATA_ROOT/log" DB_DIR="$DATA_ROOT/redis" CONF_DIR="/etc/redis" echo " 开始极简卸载 Redis..." echo " 目标: $DATA_ROOT" read -p "确定删除所有数据、日志、配置并停止服务? (yes/no): " confirm [ "$confirm" != "yes" ] && echo "❌ 已取消" && exit 0 # 2. 停止服务 (不管成功失败继续执行) echo " 停止服务..." systemctl stop redis-server 2>/dev/null || true systemctl disable redis-server 2>/dev/null || true # 3. 删除数据、日志、配置目录 echo "️ 删除数据与配置..." rm -rf "$LOG_DIR" rm -rf "$DB_DIR" rm -rf "$CONF_DIR" # 如果 DATA_ROOT 下没其他东西了,也可以把根目录删了 (可选,这里保守起见只删子目录,若需删根目录取消下面注释) # rmdir "$DATA_ROOT" 2>/dev/null || true # 4. 卸载软件包 (保留配置文件选项 purge 会删配置,但我们上面已经手动删了,用 remove 即可) # 注意:你要求 apt 安装包不清理源和密钥,只卸载程序 echo " 卸载程序包..." apt-get remove -y redis-server redis-tools > /dev/null 2>&1 || true # 5. 清理 systemd 残留 (防止显示 failed 状态) systemctl daemon-reload systemctl reset-failed redis-server 2>/dev/null || true echo "✅ 卸载完成!系统已恢复安静。"