Files
bitiful-oss/uninstall-bitiful-oss.sh
2025-04-28 12:27:29 +00:00

101 lines
3.4 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# ================================================
# 缤纷云对象存储卸载脚本
# 功能卸载bitifs客户端清理挂载、配置和服务
# 版本: 2.1
# 更新: 适配新安装脚本的配置
# ================================================
# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
# 彩色输出函数
info() { echo -e "${GREEN}[信息]${NC} $1"; }
warn() { echo -e "${YELLOW}[警告]${NC} $1"; }
error() { echo -e "${RED}[错误]${NC} $1"; exit 1; }
title() { echo -e "${BLUE}$1${NC}"; }
# 检查root权限
[ "$(id -u)" != "0" ] && error "此脚本需要root权限执行!"
# 欢迎信息
title "================================================"
title " 缤纷云(bitiful.com)对象存储卸载脚本"
title "================================================"
info " 功能说明:"
info " 1. 停止并禁用bitifs挂载服务"
info " 2. 卸载对象存储挂载点"
info " 3. 删除bitifs客户端程序"
info " 4. 清理AK/SK凭证配置"
info " 5. 可选删除挂载目录"
warn ""
warn " 注意: 此操作将永久删除以下内容:"
warn " 1. /usr/local/bin/bitifs (客户端程序)"
warn " 2. /etc/bitifs/ (凭证配置)"
warn " 3. 挂载服务配置"
warn ""
warn " 操作前请确保:"
warn " 1. 已备份挂载点中的重要数据"
warn " 2. 已关闭所有访问挂载点的程序"
title "================================================"
# 确认卸载
read -p "$(info '确定要卸载bitiful对象存储吗(y/n): ')" confirm
[ "$confirm" != "y" ] && exit 0
# 获取挂载点信息
MOUNT_PATH=$(systemctl cat bitifs-mount.service 2>/dev/null | grep -oP 'ExecStart.*\s\K\/\S+' | head -1)
MOUNT_PATH=${MOUNT_PATH:-"/mnt/bitiful-oss"}
BUCKET_NAME=$(systemctl cat bitifs-mount.service 2>/dev/null | grep -oP 'bitifs\s+\K\S+' | head -1)
# 停止并禁用服务
info "停止并禁用bitifs挂载服务..."
systemctl stop bitifs-mount.service 2>/dev/null
systemctl disable bitifs-mount.service 2>/dev/null
rm -f /etc/systemd/system/bitifs-mount.service
systemctl daemon-reload
systemctl reset-failed 2>/dev/null
# 卸载挂载点
info "卸载挂载点..."
if mount | grep -q "$MOUNT_PATH"; then
umount -l "$MOUNT_PATH" 2>/dev/null || \
warn "卸载挂载点失败,可能是已被卸载或挂载点不存在"
else
info "挂载点 $MOUNT_PATH 未挂载"
fi
# 清理文件和目录
info "清理bitifs相关文件和配置..."
rm -f /usr/local/bin/bitifs 2>/dev/null
rm -rf /etc/bitifs 2>/dev/null
# 删除挂载目录(可选)
if [ -d "$MOUNT_PATH" ]; then
read -p "$(info "是否删除挂载目录 $MOUNT_PATH(y/n): ")" delete_dir
if [ "$delete_dir" = "y" ]; then
rm -rf "$MOUNT_PATH" && info "已删除挂载目录 $MOUNT_PATH" || \
warn "删除挂载目录失败,可能是权限不足"
fi
fi
# 清理残留进程
info "清理残留进程..."
pkill -f "bitifs $BUCKET_NAME" 2>/dev/null && warn "已终止残留的bitifs进程"
# 完成信息
title "================================================"
info "卸载完成!"
info ""
info "已清理以下内容:"
info "1. bitifs-mount.service 服务"
info "2. /usr/local/bin/bitifs 客户端"
info "3. /etc/bitifs/ 配置目录"
[ "$delete_dir" = "y" ] && info "4. 挂载目录 $MOUNT_PATH"
info ""
info "如需重新安装,请运行安装脚本: install-bitiful-oss.sh"
title "================================================"