版本控制:(C、A、M、D:创建、增加、修订、删除)
| 版本号 | 变更日志 | 变更类型(C/A/M/D) | 修改人 | 摘要 | 备注 |
|---|---|---|---|---|---|
| 1.0 | 2024-12-09 | C | xx |
一、背景
二、备份策略
-
OCS mongo每天全备一次,备份保留7天时间,job:
三、工具
-
mongodump与mongorestore
-
export与import
四、mongodump
五、mongoimport
六、最佳实践
定时
shell
#!/bin/bash -ex
cd $WORKSPACE
source /etc/profile.d/rclone.sh
S3_BUCKET_NAME="bm-s3-xfz:/sox-dba-backup/mongodb/ocs"
# 7天前的时间格式
seven_days_ago=$(date -d "7 days ago" +%Y-%m-%d)
# 全量备份
/data/mongodb/27017/bin/mongodump \
--host ${src_ip} --port ${src_port} \
--username ${src_user} --password ${src_passwd} --authenticationDatabase ${src_authdb} \
--oplog --archive \
| zstd -c \
| rclone rcat --s3-chunk-size 100Mi ${S3_BUCKET_NAME}/$(date +'%F_%H').zst
# 显示7天前的文件大小
rclone size bm-s3-xfz:/sox-dba-backup/mongodb/ocs/${seven_days_ago}_00.zst
# 删除
rclone delete bm-s3-xfz:/sox-dba-backup/mongodb/ocs/${seven_days_ago}_00.zst
说明
- 使用sztd和管道搭配实现不产生中间文件
- 使用S3作为备份文件的存储
- 结合Jenkins实现脚手架