1. 程式人生 > >Python部署mongodb數據庫

Python部署mongodb數據庫

Python

註:此環境只適用於centos6版本系統,7版本不需要安裝glibc

#!/usr/bin/env python
#coding:utf-8

import os
import zipfile
import tarfile
import shutil

line = os.linesep
script_path = os.getcwd()
glibc_package = ‘glibc-2.14.zip‘
mongo_package = ‘mongodb-linux-x86_64-rhel70-3.2.8.tgz‘
mongo_path = ‘/usr/local/mongodb/‘

def decomPression():
    try:
        z = zipfile.ZipFile(glibc_package, ‘r‘)
        z.extractall()
        z.close()
    except:
        print "zip解壓失敗"
    try:
        t = tarfile.open(mongo_package,‘r‘)
        t.extractall()
        t.close()
    except:
        print "tar解壓失敗"

def createDirectory():
    shutil.move(script_path+‘/mongodb-linux-x86_64-rhel70-3.2.8‘,mongo_path)
    os.mkdir(mongo_path+‘conf‘)
    os.makedirs(‘/data/mongodb/logs‘)
    os.mkdir(‘/data/mongodb/db‘)
    shutil.move(script_path+‘/mongodb.conf‘,mongo_path+‘conf‘)
    with open(‘/etc/profile‘,‘a‘)as f:
        f.write("export PATH=/usr/local/mongodb/bin:$PATH%sexport LD_LIBRARY_PATH=/usr/local/glibc-2.14/lib:$LD_LIBRARY_PATH%sexport LC_ALL=C%s" % (line,line,line))
    os.chdir(script_path+‘/glibc-2.14‘)
    os.mkdir(‘build‘)
    os.chdir(‘build‘)

def comPiled():
    try:
        os.system("chmod +x %s/glibc-2.14/*" % script_path)
        os.system("chmod +x %s/glibc-2.14/scripts/*" % script_path)
        os.system(‘../configure --prefix=/usr/locsal/glibc-2.14‘)
        os.system(‘make -j4‘)
        os.system(‘make install‘)
    except:
        print "編譯失敗,請檢查"

def startService():
    os.system(‘source /etc/profile‘)
    os.system(‘%sbin/mongod -f /usr/local/mongodb/conf/mongodb.conf‘ % mongo_path)

decomPression()
createDirectory()
comPiled()
startService()

Python部署mongodb數據庫