脚本如下
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
原文地址:http://blog.51cto.com/yht1990/2128865