从多个的业务数据库中按照「组织 ID」备份数据到统一备份数据库中,然后将备份数据库中指定「组织」导出备份文件同步到 OSS
1. 单个组织数据精准备份
- 支持多个源数据库和多个目标数据库,可以多对一备份或者一对一备份
- 源数据库备份支持 join 和 where 筛选条件。
注:某些表可能不含类似 「组织 ID」字段,可以通过单表或者多表 join 访问「组织 ID」字段。
2. 多进程高速备份
- 使用进程池异步并发执行数据复制、导出、导入,提高速度
3. 流式压缩/上传至 OSS
- 数据库导出备份文件采用
Zstandard
流式压缩 - 备份文件流式上传 OSS 不落盘,减少对本地磁盘空间依赖
4.完整的备份日志
pipenv install
配置文件
./udbs/config/db[log][oss].py
运行
pipenv run backup
- macos 遇到
+[__NSPlaceholderDate initialize] may have been in progress in another thread when fork() was called.
错误时,通过设置 环境变量export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
解决 - 保证本地 shell 下可以直接运行
mysqldump
命令 target_db
目标数据库不会自动清除重名表,需要手动处理