Linux系统如何对mongo数据库进行定时备份

发布时间:2022-01-26 17:45:29 作者:柒染
来源:亿速云 阅读:157

Linux系统如何对mongo数据库进行定时备份,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

使用方法

通过命令nohup python -u mongod_back.py > out.log 2>&1 & 挂在脚本,每天0点执行mongodb数据备份。

python脚本

 import time
 import schedule
 import os
 
 
 def auto_backup_mongo() :
     commands = """
     cd /home/webapp/backup/mongo_bak    &&
     pwd   &&
     ./mongod_bak.sh
     """
     os.system(commands)
 
 
 schedule.every().day.at("23:59").do(auto_backup_mongo)
 
 while True:
     schedule.run_pending()
  time.sleep(1)

shell脚本

 #!/bin/sh
 DUMP=/home/webapp/Downloads/mongoDB/mongodbserver/bin/mongodump #mongodump备份文件执行路径
 OUT_DIR=/home/webapp/backup/mongo_bak/mongod_bak_now #临时备份目录
 TAR_DIR=/home/webapp/backup/mongo_bak/mongod_bak_list #备份存放路径
 DATE=`date +%Y_%m_%d_%H_%M_%S` #获取当前系统时间
 
 DB_USER=XXXX#数据库账号
 DB_PASS=XXXX #数据库密码
 DB_NAME=TEST #数据库名称
 IP=xx.xx.xx.xx:27017
 DAYS=365 #DAYS=30代表删除30天前的备份,即只保留最近30天的备份
 TAR_BAK="mongod_bak_$DATE.tar.gz" #最终保存的数据库备份文件名
 cd $OUT_DIR
 rm -rf $OUT_DIR/*
 mkdir -p $OUT_DIR/$DATE
 $DUMP -h $IP -u $DB_USER -p $DB_PASS -d $DB_NAME -o $OUT_DIR/$DATE #备份数据库
 tar -zcvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE #压缩为.tar.gz格式
 find $TAR_DIR/ -mtime +$DAYS -delete #删除30天前的备份
 
 exit     #件

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

推荐阅读:
  1. 如何在centos中使用crontab命令对mongodb进行定时备份
  2. 【mongo】mongo 字段类型互转

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux mongo 数据库

上一篇:如何分析Linux内核双向链表

下一篇:@Transactional注解怎么用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》