python 在Centos6下部署Mongodb數據庫
阿新 • • 發佈:2018-06-13
python 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
python 在Centos6下部署Mongodb數據庫