前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mongodb远程备份

mongodb远程备份

作者头像
程序员同行者
发布2018-07-24 11:37:41
1.1K0
发布2018-07-24 11:37:41
举报
创建备份用户
db.createUser({user: 'backup',pwd: 'back123' ,roles : [{role : 'userAdminAnyDatabase' ,db : 'admin' },{role : 'readAnyDatabase' ,db : 'admin' },{role : 'dbOwner' ,db : 'admin' },{role : 'userAdmin' ,db : 'admin' },{role : 'root' ,db : 'admin' },{role : 'dbAdmin' ,db : 'admin' }]})
命令备份
mongodump -h 10.92.0.26 --port=27017 -ubackup -pbackup123  --authenticationDatabase admin -o /opt/data/back/
备份脚本
#coding:utf-8
import sys,subprocess,os,time,datetime
import shutil
def pay_mongodb_back():
    try:
        db_host = '10.92.0.26'
        db_port = '27017'
        db_user = 'backup'
        db_pass = 'backup123'
        back_dir = '/opt/data/back/{0}/'.format(db_host) + time.strftime('%Y-%m-%d', time.localtime(time.time()))
        date =time.strftime('%Y-%m-%d-%H:%M:%S', time.localtime(time.time()))
        TAR_BAK="mongodb_bak_{0}.zip".format(date)
        tmp_dir= '/tmp/{ip}tmp_mongodb_bak'.format(ip=db_host)
        if os.path.exists(back_dir):
            pass
        else:
            os.makedirs(back_dir)
        if os.path.exists(tmp_dir):
            pass
        else:
            os.makedirs(tmp_dir)
        ret = subprocess.Popen('mongodump -h {0} --port={1} -u {2} -p {3}  --authenticationDatabase admin -o {4} &&cd {5} && zip  -r {6}/{7}  {8}/*'.format(db_host,db_port,db_user,db_pass,tmp_dir,tmp_dir,back_dir,TAR_BAK,tmp_dir),shell=True,stdin=subprocess.PIPE,stdout=subprocess.PIPE, stderr=subprocess.PIPE)
        print ('本次{ip}mongodb备份成功执行').format(ip=db_host)
        time.sleep(0.5)
        shutil.rmtree(tmp_dir)
    except Exception as e:
        print ('备份失败,原因:',e)

if __name__ == '__main__':
    date =time.strftime('%Y-%m-%d-%H:%M:%S', time.localtime(time.time()))
    print ('备份时间:',date)
    pay_mongodb_back()
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-07-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建备份用户
  • 命令备份
  • 备份脚本
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档