# blinux **Repository Path**: ix86/blinux ## Basic Information - **Project Name**: blinux - **Description**: 服务器备分为docker神器 - **Primary Language**: Python - **License**: EPL-1.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2025-06-17 - **Last Updated**: 2025-06-25 ## Categories & Tags **Categories**: containers **Tags**: None ## README # 绿谷云服务器docker化迁移工具 一个安全、自动化的命令行工具,支持将远程服务器完整备份并一键转换为 Docker 镜像。 本程序主要用于将linux服务器虚似化为docker镜像,适用于将阿里云、腾讯云等主机迁移成本地docker场景。 ## 🚀 快速开始 ### 推荐使用 conda 虚拟环境 1. **创建并激活环境** ```bash conda create -n blinux python=3.9 conda activate blinux ``` 2. **运行程序,自动安装依赖** ```bash python docker_backup_launcher.py ``` > 首次运行会自动检测并提示安装 paramiko、pexpect、tqdm 等依赖。 --- 1. **准备环境** - Python 3.6+ - Docker - SSH 客户端 - `pexpect`(自动安装) - `sshpass`(可选,仅极端兼容性兜底时需要,主流程无需) > **说明:** > - 工具主流程全部采用 pexpect 自动交互,无需 sshpass。 > - 只有在极端兼容性场景(如 pexpect 失效、老旧系统)时,才可能用到 sshpass 作为兜底。 > - 推荐仅安装 Python3 和 pexpect 即可。 2. **配置** - 复制模板:`cp config_template.json config.json` - 编辑 `config.json`,填写服务器信息、登录方式、备份目录等 3. **运行启动器(推荐)** ```bash python3 docker_backup_launcher.py ``` 按菜单选择远程备份、本地备份或清理临时文件 4. **或直接运行 CLI 工具** ```bash python3 docker_backup_cli.py ``` ## 🛡️ 安全说明 - `.gitignore` 已自动保护敏感文件(如 `config.json`、密钥、备份数据等) - **切勿提交真实密码/密钥/备份文件到 Git** - 备份文件包含敏感数据,请妥善保管 ## ✨ 主要功能 - **远程备份**:支持 SSH 密钥或密码登录,自动打包服务器重要目录和数据库 - **断点续传**:本地下载支持断点续传 - **Docker 化**:自动生成 Dockerfile 和镜像 - **本地备份处理**:可对已有备份包本地解包、生成镜像 - **一键清理**:安全清理所有临时/历史备份内容 ## 🛠️ 配置说明 `config.json` 示例(请勿提交真实密码): ```json { "source_server": { "host": "服务器地址", "user": "用户名", "port": 22 }, "login": { "method": "certificate|password", "certificate_path": "证书路径", "password": "密码" }, "backup": { "include_directories": ["/etc", "/var/www", ...], "exclude_directories": ["/proc", "/sys", ...], "database_backup": { "mysql": true, "postgresql": true, "redis": true } }, "docker": { "base_image": "debian:latest", "expose_ports": [80, 443], "port_mappings": { "80": "8080" } } } ``` ## 📂 目录结构 ``` blinux/ ├── docker_backup_launcher.py # 启动器(推荐入口) ├── docker_backup_cli.py # 核心CLI工具 ├── config_template.json # 配置模板(安全可提交) ├── backup/ # 备份内容目录(自动忽略) ├── README.md └── VERSIONS.md ``` ## 📝 常见问题 - **SSH 连接失败**:检查网络、端口、防火墙、用户名、密钥权限 - **sshpass 未安装**:按提示安装(macOS: `brew install sshpass`,Debian/Ubuntu: `apt install sshpass`) - **Docker 构建失败**:检查 Docker 服务、磁盘空间、配置项 - **权限问题**:密钥需 `chmod 600`,确保有写入权限 ## 🧹 清理说明 - 只会清理 `backup/` 目录下内容,不会删除 `backup` 目录本身 - 其它历史临时目录(如 `docker_backup_*`、`local_backup_*`)也可一键清理 ## 📜 许可证 MIT License ## 🤝 贡献 欢迎提交 Issue 和 PR! 如需更详细的使用说明、开发文档或遇到问题,请查阅 `VERSIONS.md` 或提交 Issue。