# mc_minio **Repository Path**: ix86/mc_minio ## Basic Information - **Project Name**: mc_minio - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-03 - **Last Updated**: 2026-01-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MinIO 备份和同步工具 一个基于MC的MinIO备份和同步工具,提供图形化界面(GUI)和命令行界面(CLI)两种使用方式。 ## 功能特点 - ✅ 支持本地到MinIO备份/同步 - ✅ 支持MinIO到本地备份/同步 - ✅ 支持MinIO到MinIO跨服务器备份/同步 - ✅ 图形化界面,操作简单直观 - ✅ 命令行界面,支持交互式菜单和直接命令 - ✅ 支持键盘导航的交互式菜单 - ✅ 支持递归复制子目录 - ✅ 支持删除目标中不存在的文件 - ✅ 支持强制覆盖所有文件 - ✅ 详细的操作日志 - ✅ 智能启动器,自动检测和安装依赖 - ✅ 交互式界面选择,支持键盘导航 - ✅ 支持直接指定界面类型启动 ## 安装步骤 ### 方法一:使用启动器(推荐) 启动器会自动检测并提示安装缺失的依赖: ``` python launcher.py ``` ### 方法二:手动安装依赖 1. 克隆或下载本项目 2. 安装依赖: ``` pip install -r requirements.txt ``` ## 启动器功能 启动器脚本 (`launcher.py`) 提供了以下功能: - ✅ 自动检测缺失的依赖 - ✅ 提示用户安装缺失的依赖 - ✅ 根据系统环境智能选择启动GUI或CLI - ✅ 提供交互式菜单让用户选择界面类型 - ✅ 支持直接启动指定界面 ### 启动器使用方法 #### 1. 交互式启动 ``` python launcher.py ``` 启动器会检测依赖,然后显示菜单让您选择启动图形化界面或命令行界面。 #### 2. 直接启动指定界面 ``` # 直接启动图形化界面 python launcher.py gui # 直接启动命令行界面 python launcher.py cli ``` #### 3. 查看帮助信息 ``` python launcher.py --help ``` 显示启动器的详细帮助信息,包括功能描述和使用方法。 ## 预置多个MINIO服务器配置 ### 配置文件方式 您可以通过配置文件预先设置多个MINIO服务器,工具会自动载入这些配置。 #### 配置文件位置和格式 - 配置文件名称:`minio_config.yaml` - 配置文件位置:项目根目录 - 配置格式:YAML #### 创建配置文件 1. 复制示例配置文件: ``` copy minio_config.yaml.example minio_config.yaml # Windows # 或 cp minio_config.yaml.example minio_config.yaml # Linux/Mac ``` 2. 编辑配置文件,添加您的MINIO服务器信息: ```yaml servers: # 示例服务器配置 local_minio: endpoint: http://localhost:9000 access_key: minioadmin secret_key: minioadmin secure: false # 添加更多服务器... remote_minio: endpoint: http://192.168.1.100:9000 access_key: your_access_key secret_key: your_secret_key secure: true ``` ### 两种界面如何使用预置配置 #### 图形化界面 (GUI) 1. 启动图形化界面:`python minio_gui.py` 2. 打开"服务器配置"标签页 3. 预置的服务器会自动显示在下方的服务器列表中 4. 您可以直接选择这些服务器进行备份或同步操作 5. 也可以继续添加新的服务器 #### 命令行界面 (CLI) 1. 启动命令行界面:`python minio_cli.py` 2. 进入任何需要选择服务器的操作时 3. 预置的服务器会自动显示在选项列表中 4. 您可以直接选择这些服务器进行操作 5. 也可以使用`config add`命令添加新的服务器 ### 配置文件说明 - `endpoint`: MinIO服务器地址,包含协议和端口 - `access_key`: MinIO访问密钥 - `secret_key`: MinIO秘密密钥 - `secure`: 是否使用HTTPS连接,`true`或`false` - 您可以添加任意多个服务器配置 ## 图形化界面使用方法 ### 启动图形化界面 **推荐方式:使用启动器** ``` python launcher.py gui ``` **备选方式:直接启动** ``` python minio_gui.py ``` ### 1. 服务器配置 1. 打开"服务器配置"标签页 2. 填写服务器信息: - 服务器名称:自定义名称 - 服务器地址:MinIO服务器地址,例如 `http://localhost:9000` - 访问密钥:MinIO访问密钥 - 秘密密钥:MinIO秘密密钥 - 可选:勾选"使用安全连接 (HTTPS)" 3. 点击"添加服务器"按钮 4. 点击"测试连接"按钮验证连接是否成功 5. 已配置的服务器会显示在下方列表中 ### 2. 文件浏览 1. 打开"文件浏览"标签页 2. 从下拉列表中选择服务器 3. 点击"刷新存储桶"按钮查看存储桶列表 4. 点击存储桶名称查看桶内文件列表 5. 文件列表显示文件名、大小和修改时间 ### 3. 备份功能 1. 打开"备份功能"标签页 2. **源选择**: - 选择源类型:"本地文件"或"MinIO 文件" - 如果是MinIO源,选择源服务器 - 点击"浏览"按钮选择源路径 3. **目标选择**: - 选择目标类型:"本地目录"或"MinIO 存储桶" - 如果是MinIO目标,选择目标服务器 - 点击"浏览"按钮选择目标路径 4. **选项**: - 勾选"递归复制子目录"以备份子目录 5. 点击"执行备份"按钮开始备份 6. 查看备份日志了解备份进度 ### 4. 同步功能 1. 打开"同步功能"标签页 2. **源选择**: - 选择源类型:"本地目录"或"MinIO 存储桶" - 如果是MinIO源,选择源服务器 - 点击"浏览"按钮选择源路径 3. **目标选择**: - 选择目标类型:"本地目录"或"MinIO 存储桶" - 如果是MinIO目标,选择目标服务器 - 点击"浏览"按钮选择目标路径 4. **同步选项**: - 勾选"删除目标中不存在的文件"以保持源和目标完全一致 - 勾选"强制覆盖所有文件"以忽略时间和大小检查 5. 点击"执行同步"按钮开始同步 6. 查看同步日志了解同步进度 ## 命令行界面使用方法 ### 启动命令行界面 #### 1. 交互式菜单模式 **推荐方式:使用启动器** ``` python launcher.py cli ``` **备选方式:直接启动** ``` python minio_cli.py ``` 然后使用键盘方向键导航菜单,按Enter键选择操作。 #### 2. 直接命令行模式 ``` python minio_cli.py ``` ### 命令列表 #### 配置管理 ``` # 添加服务器配置 python minio_cli.py config add [--secure] # 列出所有服务器配置 python minio_cli.py config list # 删除服务器配置 python minio_cli.py config remove # 测试服务器连接 python minio_cli.py config test ``` #### 备份操作 ``` # 本地到MinIO备份 python minio_cli.py backup local minio [--recursive] # MinIO到本地备份 python minio_cli.py backup minio local [--recursive] # MinIO到MinIO备份 python minio_cli.py backup minio minio [--recursive] ``` #### 同步操作 ``` # 本地到MinIO同步 python minio_cli.py sync local minio [--delete] [--force] # MinIO到本地同步 python minio_cli.py sync minio local [--delete] [--force] # MinIO到MinIO同步 python minio_cli.py sync minio minio [--delete] [--force] ``` ### 命令行选项说明 - `--recursive`:递归复制子目录 - `--delete`:删除目标中不存在的文件 - `--force`:强制覆盖所有文件 ## 功能对比 | 功能 | 图形化界面 | 命令行界面 | |------|------------|------------| | 服务器配置 | ✅ | ✅ | | 文件浏览 | ✅ | ❌ | | 本地到MinIO备份 | ✅ | ✅ | | MinIO到本地备份 | ✅ | ✅ | | MinIO到MinIO备份 | ✅ | ✅ | | 本地到MinIO同步 | ✅ | ✅ | | MinIO到本地同步 | ✅ | ✅ | | MinIO到MinIO同步 | ✅ | ✅ | | 递归复制 | ✅ | ✅ | | 删除不存在文件 | ✅ | ✅ | | 强制覆盖 | ✅ | ✅ | | 详细日志 | ✅ | ✅ | | 交互式操作 | ✅ | ✅ | | 脚本化操作 | ❌ | ✅ | ## 常见问题 ### 1. 连接失败怎么办? - 检查服务器地址是否正确 - 检查访问密钥和秘密密钥是否正确 - 检查是否启用了安全连接(HTTPS) - 检查网络连接是否正常 ### 2. 备份/同步速度慢怎么办? - 检查网络连接 - 减少单次备份/同步的文件数量 - 避免同时进行多个备份/同步任务 ### 3. 如何查看操作日志? - 图形化界面:在备份或同步标签页底部查看 - 命令行界面:直接显示在终端中 ### 4. 可以备份整个桶吗? - 是的,在源路径或目标路径中只输入桶名即可 ## 技术支持 如果您在使用过程中遇到问题,请检查错误信息或日志,或在命令行中使用 `--help` 参数查看帮助信息。 ## 版权许可 绿谷云软件