一个支持 MySQL 和 PostgreSQL 的小型数据库备份解决方案,提供 Web 界面进行 CRUD 操作、任务调度配置和监控。
# 克隆项目
git clone <repository-url>
cd db_backup
# 开发环境,使用本地 Redis
./scripts/deploy.sh --env dev --redis local --init-db
# 生产环境,使用外部 Redis
./scripts/deploy.sh --env prod --redis external --redis-url "redis://your-redis-host:6379" --init-db
# 复制配置文件
cp config/.env.example config/.env
# 使用本地 Redis
docker-compose --profile local-redis up -d
# 或使用外部 Redis
export REDIS_URL="redis://your-redis-host:6379"
docker-compose -f docker-compose.yml -f docker-compose.external-redis.yml up -d
# 初始化数据库
docker-compose exec backend alembic upgrade head
访问 http://localhost:3000 使用 Web 界面。
cd backend
pip install -r requirements.txt
uvicorn app.main:app --reload
cd frontend
npm install
npm start
db_backup/ ├── backend/ # 后端 API 服务 ├── frontend/ # 前端 Web 界面 ├── docker/ # Docker 配置 ├── scripts/ # 部署脚本 ├── config/ # 配置文件 └── data/ # 数据存储
DATABASE_URL: 应用数据库连接REDIS_URL: Redis 连接SECRET_KEY: JWT 密钥BACKUP_STORAGE_PATH: 备份文件存储路径系统支持两种 Redis 部署方式:
# 使用 Docker Compose 内置的 Redis 服务
docker-compose --profile local-redis up -d
# 设置外部 Redis URL
export REDIS_URL="redis://your-redis-host:6379"
# 使用外部 Redis 配置文件
docker-compose -f docker-compose.yml -f docker-compose.external-redis.yml up -d
支持的 Redis URL 格式:
redis://host:portredis://:password@host:portredis://username:password@host:port/dbrediss://host:port (SSL)在 Web 界面中配置需要备份的数据库连接信息。
支持多种备份策略:
启动后端服务后,访问 http://localhost:8000/docs 查看 API 文档。
MIT License