专业编程基础技术教程

网站首页 > 基础教程 正文

MongoDB 使用技巧记录(九)

ccvgpt 2024-08-14 15:33:52 基础教程 32 ℃

MongoDB 使用技巧记录(九)

一:mongo副本集备份-bash脚本

MongoDB 使用技巧记录(九)

mongo_bk.sh

#!/bin/bash 
#for i in admin player rmdb services
#do
# echo $i >> log.txt
# mkdir -p /data/mongodb/backup/`date +%Y-%m-%d`
# docker exec 98318ac0c9c0 mongodump -h mongo-rs/192.168.102.51:27017,192.168.102.52:27017,192.168.102.53:27017 -d ${i} -o /data/backup/`date +%
Y-%m-%d` -u=root -p=Aa123456 --authenticationDatabase=admin
#done
Curdate=`date +%Y-%m-%d`
#backup all
docker exec -it  98318ac0c9c0 mongodump -h mongo-rs/192.168.102.51:27017,192.168.102.52:27017,192.168.102.53:27017 -o /data/backup/${Curdate} --
oplog -u=root -p=Aa123456  --authenticationDatabase=admin

#tar 
tar zcvf mongodb-all-${Curdate}.tar.gz ${Curdate}

#get time value
TimeValue=`docker exec -it  98318ac0c9c0 bsondump /data/backup/${Curdate}/oplog.bson |awk -F\: '{print $8}'|awk -F\, '{print $1}'|head -1`
echo "${TimeValue}" > timevalue.ini

#del
cd /data/mongodb/backup && /bin/rm -rf ${Curdate}

mongo_bk_increment.sh

#!/usr/bin/bash
#curdate
Curdate=`date +%Y-%m-%d`
#dir
mkdir -p /data/mongodb/backup/diff_${Curdate}

#get timevalue
#TimeValue=`docker exec -it  98318ac0c9c0 bsondump /data/backup/inc_${Curdate}/oplog.bson |awk -F\: '{print $8}'|awk -F\, '{print $1}'|head -1`
TimeValue=`cat timevalue.ini`

#backup diff data
docker exec -it 98318ac0c9c0 mongodump -h mongo-rs/192.168.102.51:27017,192.168.102.52:27017,192.168.102.53:27017 -d local -c oplog.rs -q "{\"ts
\":{\"$gt\": {\"$timestamp\":{\"t\":${TimeValue}, \"i\":1}}}}" -o /data/backup/diff_${Curdate} -u=root -p=Aa123456 --authenticationDatabase=admi
n

#tar 
tar zcvf mongodb-diff-`date +%Y-%m-%d-%H`.tar.gz diff_${Curdate}

#del
#cd /data/mongodb/backup && /bin/rm -rf diff_${Curdate}


Tags:

最近发表
标签列表