提前把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. PAT Basic 1017 A除以B (20 分)

    本题要求计算 /,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数.你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立. 输入格式: 输入在一行中依次给出 A 和 B,中间以 1 ...

  2. 个人总结的J2EE目前知道的涵盖面,从大方向入手,多写单元测试,加强基础

    JEE Development process: java SE 普通语法,,异常处理,数据结构,循环,面向对象,泛型, 属性,反射,多线程,线程池,锁, lambada,异步编程,并发 框架spri ...

  3. linux 下mysql忘记密码或者安装好linux后不知道mysql初始密码解决方案

    1.使用yum安装mysql后 2.初始密码在/var/log/mysqld.log这个文件里 3.输入命令:grep 'temporary password' /var/log/mysqld.log ...

  4. 二值图像连通分量的提取(python+opencv)

    算法: 第一步,将图片转换为二值图像A 第二步,创建和A相同大小但是元素都为0的图像B,并复制A到A_copy中 第三步,A中任选一点值为255的像素,设为p1,并使用计算连通分量算法,当算法收敛时, ...

  5. linux学习:【第1篇】之安装vmware+Centos 6.9

    vmware+CentOs 6.9的安装步骤 一.安装步骤 linux分区 登录用户名和密码 登录用户名和密码后安装成功 二.远程控制Xshell的安装

  6. sublime text 前端插件安装

    Package Control安装 打开sublime编辑器,ctrl + ` 打开安装PackageControl界面: sublime text3: import urllib.request,o ...

  7. vscode预览markdown文件

    前提是需要安装Markdown Preview Enhanced插件

  8. 《Python 3标准库》

    在本书中,你会看到用来处理文本.数据类型.算法.数学计算.文件系统.网络通信.Internet.XML.Email.加密.并发性.运行时和语言服务等各个方面的实用代码和解决方案.在内容安排上,每一节都 ...

  9. java设置Cookie

    public static void setCookie(HttpServletResponse response, String key, String value){ Cookie cookie ...

  10. C# 3.0

    序言 自动实现的属性 匿名类型 查询表达式 Lambda 表达式 从 C# 3 开始,lambda 表达式提供了一种更简洁和富有表现力的方式来创建匿名函数. 使用 => 运算符构造 lambda ...