MongoDB 数据全量备份
Posted 悟能的师兄
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB 数据全量备份相关的知识,希望对你有一定的参考价值。
前情提要:
现在咱们的服务器,最难把握的就是数据运维,特别是生产环境,一旦数据丢失,你会花费很大的时间精力去处理,今天我们主要将是创建mongodb的自动备份服务,防止我们的数据丢失后无所适从。
第一步:创建好你的备份执行文件
我的路径,大家随意:/data/backup/mongodb
root@iZbp1gp1t778obaz5m8vk8Z mongodb]# vi backup-mongodb.sh
#!/bin/bash
#待备份全量文件
SOURCE_DIR=/home/hn_home/docker/mongodb_data
#备份全量文件-放置文件夹
BACKUP_DIR=/data/backup/mongodb/data
#备份记录日志文件-放置文件夹
LOG_DIR=/data/backup/mongodb/logs
function log()
{
echo "[ `date '+%Y-%m-%d %H:%M:%S'` ] $1"
}
# 备份
function main(){
# d=`date "+%Y%m%d%H%M%S"`
current_time=$(date +'%Y-%m-%d_%H%M%S')
fname=${BACKUP_DIR}/backup_mongo_${current_time}.tgz
echo "开始备份 ${fname}"
tar -zcf ${fname} ${SOURCE_DIR}
echo "备份到远程成功"
echo "开始删除7天前的备份"
find ${BACKUP_DIR} -type f -atime +7 |xargs -t -i rm {}
echo "删除完毕"
}
main >> ${LOG_DIR}/backup.log 2>&1
第二步:配置好系统自动化备份
root@iZbp1gp1t778obaz5m8vk8Z mongodb_data]# crontab -e
#每天早上两点自动备份mongodb的数据库数据
0 2 * * * sh /data/backup/mongodb/backup-mongodb.sh
第三步:执行下,看看咱们的备份结果
root@iZbp1gp1t778obaz5m8vk8Z mongodb]#
[root@iZbp1gp1t778obaz5m8vk8Z mongodb]#
[root@iZbp1gp1t778obaz5m8vk8Z mongodb]# ./backup-mongodb.sh
[root@iZbp1gp1t778obaz5m8vk8Z mongodb]#
[root@iZbp1gp1t778obaz5m8vk8Z mongodb]#
[root@iZbp1gp1t778obaz5m8vk8Z mongodb]# cd data/
[root@iZbp1gp1t778obaz5m8vk8Z data]#
[root@iZbp1gp1t778obaz5m8vk8Z data]# ll -h
total 2.2M
-rw-r--r-- 1 root root 2.2M Nov 4 15:24 backup_mongo_2021-11-04_152434.tgz 作者:悟能的师兄 https://www.bilibili.com/read/cv13855626 出处:bilibili
OK 咱们的MongoDB数据库自动化备份圆满解决!
以上是关于MongoDB 数据全量备份的主要内容,如果未能解决你的问题,请参考以下文章