1. 备份
#!/bin/bash
set -u
set -e
echo "------------------------------------------------备份开始------------------------------------------------"
echo `date`
echo "清理与准备备份目录"
Date=`date +%Y-%m-%d`
BackDir=/data/mongodb/backup/$Date
cd /data/mongodb/backup
if [ -d "$Date" ]; then
echo "当天备份目录$Date已存在,删除并重新创建目录!"
rm -rf $Date
mkdir -p $BackDir
else
mkdir -p $BackDir
fi
echo `date`
echo "备份开始"
mongodump -u root -p 密码 --host=IP地址 --port 27017 --authenticationDatabase admin -o $BackDir
echo `date`
echo "备份完成"
echo `date`
echo "删除过期备份"
D_Date=`date -d "10 days ago" "+%Y-%m-%d"`
cd /data/mongodb/backup/
echo "删除过期备份$D_Date"
set +e
rm -rf $D_Date
set -e
echo "------------------------------------------------备份结束------------------------------------------------"
2. 恢复
# 全量恢复
mongorestore -u root -p 密码 --host=IP地址 --port 27017 --authenticationDatabase admin -o $BackDir
# 恢复单库
mongorestore -u root -p 密码 --host=IP地址 --port 27017 --authenticationDatabase admin -d test --drop $BackDir/test
# 恢复单表
mongorestore -u root -p 密码 --host=IP地址 --port 27017 --authenticationDatabase admin -d test -c customer --drop $BackDir/test/customer.bson