建设局象山网站,专门做网站的公司交什么,黄页88推广多少钱一年,城阳网站建设哪家好环境
ubuntu 20.04mongodb 4.4.14还没实际使用#xff08;20230922#xff09;后续到10月底如果有问题会修改
原理
只会在有新增数据时生成新的备份日期目录备份恢复时#xff0c;如果恢复的数据库未删除#xff0c;则会覆盖数据
准备
准备一个文件夹#xff0c;用于…环境
ubuntu 20.04mongodb 4.4.14还没实际使用20230922后续到10月底如果有问题会修改
原理
只会在有新增数据时生成新的备份日期目录备份恢复时如果恢复的数据库未删除则会覆盖数据
准备
准备一个文件夹用于存放脚本
增量备份脚本 mongodb_incremental_backup.sh
#!/bin/bash# MongoDB 主节点连接信息
MONGO_HOST127.0.0.1
MONGO_PORT27017# 备份目录的基础路径
BACKUP_BASE_DIR/home/kudoxi/temp/mongodb_bakup# 获取当前日期作为备份子目录名称格式化为YYYYMMDD
CURRENT_DATE$(date %Y%m%d)# 定义全量备份和增量备份目录
FULL_BACKUP_DIR$BACKUP_BASE_DIR/full
INCREMENTAL_BACKUP_DIR$BACKUP_BASE_DIR/incremental_$CURRENT_DATE# 执行全量备份仅第一次执行
if [ ! -d $FULL_BACKUP_DIR ]; thenmongodump --host $MONGO_HOST --port $MONGO_PORT --out $FULL_BACKUP_DIR
else# 执行增量备份mongodump --host $MONGO_HOST --port $MONGO_PORT --out $INCREMENTAL_BACKUP_DIR --oplog
fi# 检查备份是否成功
if [ $? -eq 0 ]; thenecho Backup completed successfully.
elseecho Backup failed. Please check the log for details.
fi
恢复备份脚本 mongodb_restore_backup.sh
#!/bin/bash# MongoDB 服务器连接信息
MONGO_HOST127.0.0.1
MONGO_PORT27017# 恢复目标数据库名称
TARGET_DBinfo_system# 恢复目录的基础路径
RESTORE_BASE_DIR/home/kudoxi/temp/mongodb_bakup# 恢复日期假设您要恢复到某一天的状态 默认最新
RESTORE_DATE$(date %Y%m%d) # 替换为实际日期# 全量备份目录
FULL_BACKUP_DIR$RESTORE_BASE_DIR/full# 增量备份目录
INCREMENTAL_BACKUP_DIR$RESTORE_BASE_DIR/incremental_$RESTORE_DATE# 恢复全量备份
mongorestore --host $MONGO_HOST --port $MONGO_PORT --db $TARGET_DB $FULL_BACKUP_DIR# 恢复每日增量备份
for INCREMENTAL_DIR in $INCREMENTAL_BACKUP_DIR/*; domongorestore --host $MONGO_HOST --port $MONGO_PORT --db $TARGET_DB $INCREMENTAL_DIR
done# 检查恢复是否成功
if [ $? -eq 0 ]; thenecho Database restore completed successfully.
elseecho Database restore failed. Please check the log for details.
fi备份
把脚本目录放到服务器后
修改实际备份存放路径
sudo vim mongo_incremental_backup.sh保存退出 2. 给该路径可写入权限
sudo chmod x mongo_incremental_backup.sh定时增量 定时设置参考另一篇mysql增量备份
定时文件配置
crontab -e
30 10 * * * /bin/bash /home/kudoxi/temp/mongo_incremental_backup.sh 恢复
修改恢复脚本中待恢复数据库名称和备份路径
sudo vim mongodb_restore_backup.sh执行恢复脚本
sudo bash mongodb_restore_backup.sh