From 8b64c21b2ffc87948fa3f3d72cc29772a5bb3096 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A8=83=E5=93=88=E5=93=88?= Date: Fri, 25 Apr 2025 13:52:37 +0000 Subject: [PATCH] =?UTF-8?q?Centos7-=E7=BC=A4=E7=BA=B7=E4=BA=91OSS=E4=B8=80?= =?UTF-8?q?=E9=94=AE=E6=8C=82=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 娃哈哈 --- README.md | 27 +++++++++ bitiful-oss.sh | 156 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 183 insertions(+) create mode 100644 README.md create mode 100644 bitiful-oss.sh diff --git a/README.md b/README.md new file mode 100644 index 0000000..9bbeb08 --- /dev/null +++ b/README.md @@ -0,0 +1,27 @@ +# 缤纷云Bitiful OSS Centos7 一键挂载脚本 + +## 脚本功能简介 + +这是一个用于快速挂载缤纷云对象存储(Bitiful OSS)的自动化脚本,通过BitIFS客户端将对象存储挂载到本地文件系统。 + +## 主要特性 + +- 🚀 **一键式安装与配置** - 自动完成BitIFS客户端的下载安装 +- 🔑 **交互式凭证配置** - 引导用户输入AK/SK等必要信息 +- 📁 **自动目录创建** - 自动创建不存在的挂载目录 +- 🔄 **开机自动挂载** - 通过systemd服务实现开机自动挂载 +- 📝 **详细执行日志** - 提供彩色化的执行过程反馈 + +## 使用说明 + +### 前提条件 + +- Centos7操作系统 +- root权限 +- wget工具(用于下载客户端) + +### 使用方法 + + ```bash +- chmod +x bitiful-oss.sh +- ./bitiful-oss.sh \ No newline at end of file diff --git a/bitiful-oss.sh b/bitiful-oss.sh new file mode 100644 index 0000000..3adf5dd --- /dev/null +++ b/bitiful-oss.sh @@ -0,0 +1,156 @@ +#!/bin/bash +# ================================================ +# 缤纷云对象存储一键挂载脚本 +# 功能:自动安装bitifs客户端,配置凭证并挂载对象存储 +# 特性: +# 1. 交互式输入AK/SK、桶名和挂载路径 +# 2. 自动创建不存在的挂载目录 +# 3. 自动配置systemd服务实现开机挂载 +# 4. 详细的执行日志输出 +# 版本: 1.1 作者 https://blog.hx99.net https://gitee.com/cncsrf/bitiful-oss +# ================================================ + +# 颜色定义 +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" +} + +title() { + echo -e "${BLUE}$1${NC}" +} + +# 欢迎信息 +title "================================================" +title " 缤纷云对象存储一键挂载脚本" +title "================================================" +info " 本脚本将帮助您完成以下操作:" +info " 1. 下载并安装bitifs客户端" +info " 2. 配置访问凭证(AK/SK)" +info " 3. 挂载指定存储桶到本地目录" +info " 4. 配置开机自动挂载" +warn " 注意:此操作需要root权限执行" +title "================================================" +echo "" + +# 检查root权限 +if [ "$(id -u)" != "0" ]; then + error "此脚本需要root权限执行!" + exit 1 +fi + +# 日志函数 +log() { + info "[$(date '+%Y-%m-%d %H:%M:%S')] $1" +} + +# 交互式输入配置信息 +read -p "$(info '请输入Access Key ID: ')" AWS_ACCESS_KEY_ID +read -p "$(info '请输入Secret Access Key: ')" AWS_SECRET_ACCESS_KEY +read -p "$(info '请输入要挂载的存储桶名称: ')" BUCKET_NAME +read -p "$(info '请输入本地挂载路径(默认:/data/binfen-mount): ')" MOUNT_PATH + +# 设置默认挂载路径 +[ -z "$MOUNT_PATH" ] && MOUNT_PATH="/data/binfen-mount" + +# 验证挂载路径格式 +if [[ "$MOUNT_PATH" != /* ]]; then + error "挂载路径必须是绝对路径(以/开头)" + exit 1 +fi + +# 检查挂载路径是否存在 +if [ ! -d "$MOUNT_PATH" ]; then + warn "挂载路径 $MOUNT_PATH 不存在,正在创建..." + mkdir -p "$MOUNT_PATH" || { + error "创建目录失败! 请检查路径权限" + exit 1 + } + log "目录创建成功: $MOUNT_PATH" +fi + +# 安装bitifs +log "开始安装bitifs客户端..." +yum install wget -y && wget -O /usr/local/bin/bitifs https://fanfan.s3.bitiful.net/bitifs_linux_amd64 || { + error "bitifs下载失败!" + exit 1 +} +chmod +x /usr/local/bin/bitifs +log "bitifs安装完成" + +# 配置凭证 +log "正在配置访问凭证..." +mkdir -p /etc/bitifs && chmod 700 /etc/bitifs +cat > /etc/bitifs/credentials.env < /etc/systemd/system/bitifs-mount.service <