良许Linux教程网 干货合集 Linux系统对mongo数据库进行定时备份

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

Linux系统中如何对mongo数据库进行定时备份?本篇文章文章通过shell脚本和python脚本的方法为大家演示一下具体方法。

u=2617560261,1569462174&fm=26&gp=0

使用方法

通过命令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     #件

至此关于Linux系统对mongo数据库进行定时备份方法分享结束,大家有任何问题都可以通过评论区将问题提交给我们。

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!

137e00002230ad9f26e78-265x300

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部