【python – 我无法在Fabric中使用virtualenvwrapper切换virtualenv】教程文章相关的互联网学习教程文章

Python的自动化部署模块Fabric的安装及使用指南

fabric是python2.5或者更高的库,可以通过ssh在多个host上批量执行任务.完成系统管理任务.它提供一套基本操作在本地和远程执行shell命令,或者上传下载文件,辅助提供用户输入或终止执行. 下面安装fabric模块有2种方法: 1.使用easy_install(下面是debain5环境)root@10.1.6.200:pshell# apt-get install python-dev (安装Python头文件)root@10.1.6.200:pshell# apt-get install python-setuptools (安装easy_install)root@10.1.6.200:p...

为什么说virtualenv、fabric和pip是pythoneer的三大神器?

回复内容:这三个对Python项目部署非常便利。1. virtualenv 用来建立一个虚拟的python环境,一个专属于项目的python环境。用virtualenv 来保持一个干净的环境非常有用。2. pip 用来解决项目依赖问题。将项目所有依赖的第三方库写在一个requirements.txt 中用pip 批量安装。一般和virtualenv 配合使用,将所有包安装在virtualenv 的环境中。3. fabric 用来自动化远程部署项目,非常的方便。可以根据需要在本地、远程依次执行一系列s...

Python下Fabric的简单部署方法

Fabric是一个用Python开发的部署工具,最大特点是不用登录远程服务器,在本地运行远程命令,几行Python脚本就可以轻松部署。 文档入口 简单安装sudo easy_install fabric部署脚本#!/usr/bin/env python # -*- coding: utf-8 -*-from datetime import datetime from fabric.api import *# 登录用户和主机名: env.user = root env.hosts = [www.example.com] # 如果有多个主机,fabric会自动依次部署def pack(): 定义一个pack任务 #...

Python自动化运维工具-Fabric部署及使用总结【代码】

使用shell命令进行复杂的运维时,代码往往变得复杂难懂,而使用python脚本语言来编写运维程序,就相当于开发普通的应用一样,所以维护和扩展都比较简单,更重要的是python运维工具fabric能自动登录其他服务器进行各种操作,这种实现使用shell是很难做到的,但是使用fabric实现就很简单,所以对于程序员的日常运维部署,建议使用python编写脚本。Fabric是基于Python实现的SSH命令行工具,简化了SSH的应用程序部署及系统管理任务,它...

Python运维自动化开发之Fabric模块【代码】【图】

本章讲解fabric模块,与上一章的paramiko模块功能类似,fabric是在paramiko基础上又做了一层封装,操作起来更方便。主要用于多台服务器批量执行任务。 非内置Python模块,需要手动安装:pip install fabric如果安装失败,可以尝试yum安装:yum install fabricFabric常用API: 当我们写好fabric脚本后,需要用fab命令调用执行任务。命令格式:fab [options][:arg1,arg2=val2,host=foo,hosts=’h1;h2’,…] …fab命令有以下常用选项:...

python fabric【代码】

python fabric 该神器可以完成远程登录linux系统,并执行脚本等功能 安装 pip install fabric 使用 通过fabric.Connection方法连接服务器: conn = fabric.Connection(host , user = ‘root’,port = 22, config = None, geteway = None, connect_kwargs={“password”: “123456”}) Connection参数的含义:def __init__(self,host, #主机ipuser=None, #用户名port=None, ...

Python使用fabric在本地及服务端执行命令【代码】

fabric是一款命令行工具,支持执行本地命令,执行远程命令,上传下载等。fabric想一个subprocess+paramiko的集合,又像一个更加轻量级的ansible,可以批量对服务进行操作。官方文档地址,安装方法: pip3 install fabric3fabric.api中的常用操作执行命令local(命令): 本地执行命令 run(命令):在服务器上执行命令 sudo(命令): 在服务器上执行sudo命令 abort(显示消息): 终止任务 confirm(用户确认Y/N): 暂停并等待用户确认上传下载...

python-Fabric:与一个用户连接到计算机,然后对另一个用户进行处理【代码】

我目前正在尝试使用Fabric执行以下操作: >在主机上以用户“ user1”的身份启动命令“ whoami”>在主机上以用户“ user2”的身份启动命令“ whoami” 相应的Bach命令为:$ssh user1@host[...enter password...] $whoami $su - user2[...enter password...] $whoami请注意,唯一允许连接到主机的用户是“ user1”.我无法使用user2连接到主机. 我尝试了这个Fabric代码:def mytask():with settings(user='user1', password='p1'):run(...

python-saltstack可以执行类似于Fabric的操作吗?【代码】

我是Saltstack的新手.我已经安装了saltstack.我可以成功运行“ sudo salt’*’test.ping”.我正在尝试用盐代替面料.我在Fabric中有一些功能/过程,我希望盐也能做到这一点.def commit():message = raw_input("Enter a git commit message: ")local("git add . && git commit -am '{}'".format(message))def push():local("git push origin master")def prepare():commit()push()>可以用盐代替织物吗?>我应该如何开始?我应该修改或...

python fabric如何保护ssh凭证?

因此,我最近偶然发现了python fabric API,并且对它如何帮助我完成日常sysadmin任务感到非常满意.我想开始在工作中使用它,但这是一个非常注重安全性的环境.我想知道Fabric在运行任务时如何处理您提供给它的ssh密码?我假设它将其插入内存中的某个位置,并在需要登录到env.hosts中的下一个主机时将其拉出?在内存中如何保护此密码? 我看到沿着这些思路将被问到很多问题,所以我正在寻找一种很好的方法来向有安全意识的类型的人们解释,...

python-使用fabric.operations.put()创建远程目录【代码】

我需要将一些文件放到远程sftp服务器上,创建一个新目录以将其放入.有没有办法使用Fabric做到这一点? Fabric.operations.put()看起来无法处理在远程端创建新目录的问题.解决方法:在调用put()之前运行mkdir:run('mkdir -p /path/to/dir/')put('/local/path/to/myfile', '/path/to/dir/')-p flag处理创建嵌套目录,请参阅:-p, –parents no error if existing, make parent directories as needed更新(仅sftp访问). 使用SFTP.mkdir(...

Python Fabric运行命令返回“ binascii.Error:不正确的填充”【代码】

我正在尝试使用以下脚本通过结构连接以连接到Amazon EC2.但是我遇到了一个不确定如何解决的问题.import os from fabric.api import run, env, local, cdWORK = os.getenv('HOME') + '/Work/myproject/'env.user = 'ubuntu' env.hosts = ['128.248.268.288' ] env.key_filename = ['%s/aws/myproject.pem' % WORK ]def deploy():print("Executing on %(host)s as %(user)s" % env)with cd('/sites/myproject.com/code/'):run('ls')这...

python – fabric一直要求输入密码【代码】

我有fab文件包含env['hosts'] = ['localhost'] env['user'] = 'code' env['password'] = 'searce'def mk_dirtree():sudo("mkdir %s" % PROJECT_DIR)sudo("chown -R code:code %s" % PROJECT_DIR)run("mkdir -p %s" % (PROJECT_DIR + '/www/static'))sudo("chown -R www-data:www-data %s" % (PROJECT_DIR + '/www'))现在当我做fab mk_dirtree我经常提示[localhost]’代码’的登录密码: 我在ec2实例上运行它,我通过ssh使用密钥连接...

Python Fabric将输出保存到变量【代码】

我正在尝试将Fabric中的sudo命令的输出保存到变量中,因此我可以拖尾文件.我的代码看起来像这样:def tail_pg():log = StringIO();sudo('ls -t /var/lib/pgsql/9.3/data/pg_log/| head -n 1', stdout=log)print type(log), logsudo('tail -n 25 -f %s' % log, pty=True)我添加了print语句作为故障排除的一部分.它返回这些值而不是日志文件名:<type 'instance'> <StringIO.StringIO instance at 0x10345f638>我似乎正在关注运行(lin...

Fabric:在目标主机上执行内联Python?【代码】

这个Fabric命令适用于fab本地grab_from_s3:bucket = …:def grab_from_s3(bucket, path, localfile):s3_connection = S3Connection()s3_bucket = s3_connection.get_bucket(bucket)s3_key = Key(s3_bucket)s3_key.key = paths3_key.get_contents_to_filename(localfile)当然,如果我将它作为远程目标主机提供,它会下载到本地主机而不是远程. (即fab staging grab_from_s3:bucket = …). 我希望其中一种可能性存在: >该任务可以在...

WRAPPER - 相关标签