Mongo 备份

这是一个使用bash脚本实现的MongoDB数据库自动化备份方案。脚本详细定义了数据库操作员的用户名和密码,备份文件的存放目录以及临时目录。通过mongodump命令备份所有数据库,并将备份文件打包存入正式目录,同时清理临时目录。此外,脚本还设置了保留最近30天的备份策略,自动删除旧备份,以保持备份存储的有效性和管理效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/bin/bash
 
DB_USER=root                  # 数据库操作员
DB_PASS=12346               # 数据库操作员密码
TAR_DIR=/data/backup/mongo                # 备份文件正式目录,例如:/data/backup/mongod
OUT_DIR=/data/backup/tmp                 # 备份文件临时目录,例如:/data/backup/mongod/tmp
 
DUMP=/data/mongodb/bin/mongodump
DATE=`date +%Y_%m_%d_%H_%M_%S`    # 备份文件将以备份时间保存
DAYS=30                           # 保留最新30天的备份
TAR_BAK="mongod_bak_$DATE.tar.gz"  # 备份文件命名格式
 
mkdir -p $OUT_DIR && cd $OUT_DIR  # 务必确保 $OUT_DIR 路径正确,否则可能引起致命错误
rm -rf $OUT_DIR/*                 # 清空临时目录
mkdir -p $OUT_DIR/$DATE           # 创建本次备份文件夹
$DUMP -h 127.0.0.1 --port 27017 -u $DB_USER -p $DB_PASS -o $OUT_DIR/$DATE --authenticationDatabase admin # 备份全部数据库
tar -zcvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE       # 将备份文件打包放入正式目录
find $TAR_DIR/ -mtime +$DAYS -delete             # 删除30天前的旧备份
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值