python 在Centos6下部署Mongodb数据库

注:Cenots7的系统不需要部署glibc,可以直接安装启动Mongodb数据库

脚本如下

cat mongodbInstall.py
#!/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解压失败"
    else:
    print "glibc解压成功"
    try:
        t = tarfile.open(mongo_package,'r')
        t.extractall()
        t.close()
    except:
        print "tar解压失败"
    else: 
        print "mongodb解压成功"

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.copyfile(script_path+'/mongodb.conf',mongo_path+'/conf/mongodb.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("yum -y install gcc")
        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/local/glibc-2.14')
        os.system('make -j4')
        os.system('make install')
    except:
        print "编译失败,请检查"

def startService():
    #os.system('source /etc/profile')
    #os.system('%s/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf' % mongo_path)
     os.system('sh %s/mongo_start.sh' % script_path)

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

shell脚本如下

cat mongo_start.sh
#!/bin/bash
export PATH=/usr/local/mongodb/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/glibc-2.14/lib:$LD_LIBRARY_PATH
export LC_ALL=C
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf

配置文件内容如下

cat mongodb.conf
dbpath=/data/mongodb/db
logpath=/data/mongodb/logs/mongodb.log
bind_ip=127.0.0.1
port=27017
fork=true
nohttpinterface=true
auth=false

目录内容如下

-rw-r--r-- 1 root root 28208627 Jun  7 03:02 glibc-2.14.zip
-rw-r--r-- 1 root root      206 Jun 10 21:07 mongo_start.sh
-rw-r--r-- 1 root root 71943658 Dec  4  2017 mongodb-linux-x86_64-rhel70-3.2.8.tgz
-rw-r--r-- 1 root root      134 Jun 11  2018 mongodb.conf
-rw-r--r-- 1 root root     1853 Jun 10 21:09 mongodbInstall.py
-rw-r--r-- 1 root root 97120178 Jun 10 21:09 mongodb_install.tar.gz

猜你喜欢

转载自blog.51cto.com/yht1990/2128865