python实现mongodb的备份与导入


背景:

192.168.122.1    python

192.168.122.11  mongodb


Python备份mongo


python实现mongodb的备份与导入_第1张图片

python实现mongodb的备份与导入_第2张图片


代码:

# -*- coding:utf-8 -*-

import time import os  DBUSER='myadmin'        #用户

DBPASS='redhat'           #密码

IP='192.168.122.11'        #主机

DATA_DIR='/data'           #目录

PATH_DUMP='/usr/local/mongodb/bin/mongodump'    #命令路径 

BACKITEMS=[     "%s -h %s:27017 -u %s -p %s -o %s" % (PATH,IP,DBUSER,DBPASS,DATA_DIR) ] 

def backData():    

    try:        

        for item in BACKITEMS:            

            print item            

            print os.system(item)    

    except RuntimeError,e:        

        print str(e) 

if __name__=="__main__":

    backData() 


运行结果:

python实现mongodb的备份与导入_第3张图片


如下,已经备份到主机目录下;

Screenshot from 2018-08-13 15-33-00.png


Python导入mongodb数据


python实现mongodb的备份与导入_第4张图片

python实现mongodb的备份与导入_第5张图片


代码:

# -*- coding:utf-8 -*-

import time 

import os

DBUSER='myadmin' 

DBPASS='redhat'

IP='192.168.122.1'       #将数据导入改主机


DATA_DIR='/data'

PATH_RES='/usr/local/mongodb/bin/mongorestore'

BACKITEMS=[

    "%s -h %s:27017 --dir %s" % (PATH_RES,IP,DATA_DIR)

]


def backData():

    try:

       for item in BACKITEMS: 

           print item 

           print os.system(item)

    except RuntimeError,e:

        print str(e) 


if __name__=="__main__":

    backData()


运行结果:

python实现mongodb的备份与导入_第6张图片


没有运行代码这是一个全新的主机,mongodb中没有数据

python实现mongodb的备份与导入_第7张图片

导入数据后:

python实现mongodb的备份与导入_第8张图片