提前把mongodb-linux-x86_64-rhel70-3.2.4.tgz放到和脚本相同目录下,然后把下复制到脚本里面,开始执行

#!/usr/bin/python
#-*- codinig: UTF-8 -*-
from __future__ import print_function
import os
import shutil
import tarfile
import subprocess os.chdir('/root') def execute_cmd(cmd):
p=subprocess.Popen(cmd,
shell=True,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
stdout,stdeer=p.communicate()
if p.returncode!=0:
return p.returncode,stdeer
return p.returncode,stdout def unpackage_monge(package,package_dir):
unpackage_dir=os.path.splitext(package)[0]
if os.path.exists(unpackage_dir):
shutil.rmtree(unpackage_dir)
if os.path.exists(package_dir):
shutil.rmtree(package_dir)
t=tarfile.open(package,'r:gz')
t.extractall('.')
shutil.move(unpackage_dir,package_dir) def create_datadir(data_dir):
if os.path.exists(data_dir):
shutil.rmtree(data_dir)
os.mkdir(data_dir) def format_mongod_mommand(package_dir,data_dir,logfile):
mongod=os.path.join(package_dir,'bin','mongod')
mongod_format="""{0} --fork --dbpath {1} --logpath {2}"""
return mongod_format.format(mongod,data_dir,logfile)
def start_mongod(cmd):
returncode, out = execute_cmd(cmd)
if returncode !=0:
raise SystemExit('excete {0} error :{1}'.format(cmd,out))
else:
print('execute command {0} seccessful'.format(cmd))
def main():
package='mongodb-linux-x86_64-rhel70-3.2.4.tgz'
cur_dir=os.path.abspath('.')
package_dir=os.path.join(cur_dir,'mongo')
data_dir=os.path.join(cur_dir,'mongodata')
logfile=os.path.join(data_dir,'mongod.log')
if not os.path.exists(package):
raise SystemExit('{0} not found'.format(package))
unpackage_monge(package,package_dir)
create_datadir(data_dir)
start_mongod(format_mongod_mommand(package_dir,data_dir,logfile))
if __name__ == '__main__':
main()

python安装mongodb的更多相关文章

  1. python操作三大主流数据库(7)python操作mongodb数据库①mongodb的安装和简单使用

    python操作mongodb数据库①mongodb的安装和简单使用 参考文档:中文版:http://www.mongoing.com/docs/crud.html英文版:https://docs.m ...

  2. MongoDB的安装与python操作MongoDB

    一.安装MongoDB 因为我个人使用的是windows,就只记录下windows下的安装 1.下载安装 就是官网,下载msi,选个路径安装 2.配置 看见别的地方说需要手动在bin同级目录创建dat ...

  3. python数据库-MongoDB的安装(53)

    一.NoSQL介绍 1.什么是NoSQL NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL". NoSQL,指的是非关系型的数据库.NoSQL有时也称 ...

  4. MongoDB与RoboMongo的安装+python基本操作MongoDB

        MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是可以应用于各种规模的企业.各个行业以及各类应用程序的开源数据库.作为一个适用于敏捷开发的数据库,MongoDB的数据 ...

  5. Python: Win7 64位如何安装MongoDB?

    Windows 7 64位安装MongoDB 官网tutorial:  https://docs.mongodb.com/v3.0/tutorial/install-mongodb-on-window ...

  6. python爬虫-MongoDB安装配置

    MongoDB安装配置: 在安装配置MongoDB的过程中遇到了很多问题,现在重新梳理一遍安装流程.遇到的问题及其解决方法 系统版本:Windows 10 MongoDB版本:4.2.1 1.下载地址 ...

  7. Python 操作 mongodb 数据库

    原文地址:https://serholiu.com/python-mongodb 这几天在学习Python Web开发,于 是做准备做一个博客来练练手,当然,只是练手的,博客界有WordPress这样 ...

  8. Ubuntu上安装MongoDB(译)

    add by zhj:直接从第四步开始就可以了,而且安装好MongoDB后会自动启动的,不必自己去执行启动命令 原文:https://docs.mongodb.com/manual/tutorial/ ...

  9. python 连 mongodb

    这几天在学习Python Web开发,于是做准备做一个博客来练练手,当然,只是练手的,博客界有WordPress这样的好玩意儿,何必还自己造车呢?决定使用Tornado这个框架,然后数据库方面决定顺便 ...

随机推荐

  1. [易学易懂系列|rustlang语言|零基础|快速入门|(17)|装箱crates]

    [易学易懂系列|rustlang语言|零基础|快速入门|(17)|装箱crates] 实用知识 装箱crates 我们今天来讲讲装箱技术crates. 什么是crates? 英语翻译是: 英 [kre ...

  2. Kattis - itsamodmodmodmodworld It's a Mod, Mod, Mod, Mod World (类欧几里得)

    题意:计算$\sum\limits_{i=1}^n[(p{\cdot }i)\bmod{q}]$ 类欧模板题,首先作转化$\sum\limits_{i=1}^n[(p{\cdot}i)\bmod{q} ...

  3. 【BZOJ3143】【Luogu P3232】 [HNOI2013]游走 概率期望,图论

    期望\(DP\)入门题目. 关键思想:无向边的转移作为有向边考虑.其他的就是直接上全期望公式.由于这个题目不是有向无环图,所以需要高斯消元搞一搞. 设每个点的期望经过次数是\(g(x)\),那么有 \ ...

  4. VCL界面控件DevExpress VCL Controls v19.1.3全新来袭

    DevExpress VCL Controls是 Devexpress公司旗下最老牌的用户界面套包.所包含的控件有:数据录入,图表,数据分析,导航,布局,网格,日程管理,样式,打印和工作流等,让您快速 ...

  5. DevExpress ASP.NET v19.1版本亮点:Pivot Grid等控件

    行业领先的.NET界面控件DevExpress 发布了v19.1版本,本文将以系列文章的方式为大家介绍DevExpress ASP.NET Controls v19.1中新增的一些控件及增强的控件功能 ...

  6. 用Python实现简单购物车

    作业二:简单购物车# 实现打印商品详细信息,用户输入商品名和购买个数,则将商品名,价格,购买个数加入购物列表,# 如果输入为空或其他非法输入则要求用户重新输入 shopping_list = [] w ...

  7. hivesql之str_to_map函数

    str_to_map(字符串参数, 分隔符1, 分隔符2) 使用两个分隔符将文本拆分为键值对. 分隔符1将文本分成K-V对,分隔符2分割每个K-V对.对于分隔符1默认分隔符是 ',',对于分隔符2默认 ...

  8. 【Winform-获取ListView选中行】Winform如何获取ListView选中行数据 ?

    =========这是Winform================== 1.设计窗体 一个ListView    listView1 一个textBox    txbSelected 2.listV ...

  9. springboot pdf模板打印

    1.下载Adobe Acrobat DC工具来制作pdf的模板 打开一个pdf 2.制作pdf模板 把自动生成的文本框删除 然后 拖入文本框并自定义键 导入maven 依赖 <dependenc ...

  10. QT:提高QT Creator编译速度,配置预编译头Stable.h

    提高QT Creator编译速度,配置预编译头Stable.h QT Creator支持预编译头提高编辑速度,网上有些教程写得不详细,走了弯路,具体实现方法如下. (1)工程.PRO文件加入下面代码 ...