使用fabric可以通过ssh连接远程终端,对终端进行操作,可以进行远程环境的部署,前提是远程终端已安装openssh-server,且ssh-server开启

安装fabric

fabric支持python2和python3,不过python3在安装时,要安装fabric3,虽然安装fabric也可以成功,但是用不了,会有报错

$pip install fabric    #python2
$pip3 install fabric3 #python3

使用方法

1、安装后,手动创建一个fabfile.py的脚本文件

2、名称不能变,必须是fabfile.py,否则运行时会报错,找不到任何fabfile.py文件;当然如果非要命名成其他文件也可以,但是运行时要加参数-f filename

3、在终端中运行命令即可 (fab -h显示帮助信息,可以查看所有参数)

常用的fabric.api

 'abort'    终止执行
'cd' 远程终端切换到指定路径
'lcd' 本地终端切换到指定路径
'env' fabric环境变量,这是个dict
'get' 从远程终端下载文件到本地
'put' 从本地上传文件到远程终端
'run' 执行远程命令
'local' 执行本地命令
'sudo' 以sudo的权限执行命令

常用的就这几个,其余的后期再去研究

简单的例子

在某路径下创建一个fabfile.py的文件

# -*- coding: utf-8 -*-
from fabric.api import *
env.hosts = ['10.4.66.87']
env.user = 'jkwang'
env.password = '20160418'
def mytest():
run('ls -ll')
with cd('testforfab'):
run('echo "hello"> a')
run('ls -la')

运行结果


1: svn checkout命令:svn co url --username xxx --password xxx ./ 参考http://riaoo.com/subpages/svn_cmd_reference.html

2: 参考廖雪峰老师的博客,有更具体的例子:http://www.liaoxuefeng.com/article/001373892650475818672edc83c4c978a45195eab8dc753000

使用python-fabric进行远程环境部署的更多相关文章

  1. python fabric实现远程操作和部署示例

    https://www.jb51.net/article/48434.htm 近期接手越来越多的东西,发布和运维的工作相当机械,加上频率还蛮高,导致时间浪费还是优点多.修复bug什么的,测试,提交版本 ...

  2. 【转】python fabric实现远程操作和部署

    fabric title是开发,但是同时要干开发测试还有运维的活……为毛 task*3 不是 salary * 3 (o(╯□╰)o) 近期接手越来越多的东西,发布和运维的工作相当机械,加上频率还蛮高 ...

  3. PYTHON FABRIC实现远程操作和部署

    转载至:http://wklken.me/posts/2013/03/25/python-tool-fabric.html fabric title是开发,但是同时要干开发测试还有运维的活 (o(╯□ ...

  4. (数据科学学习手札132)Python+Fabric实现远程服务器连接

    本文示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 日常工作中经常需要通过SSH连接到多台远程 ...

  5. centos7 nginx配置httpsCenos(6.6/7.1)下从源码安装Python+Django+uwsgi+nginx环境部署(二)

     1.yum安装nginx 下载对应当前系统版本的nginx包(package) # wget  http://nginx.org/packages/centos/7/noarch/RPMS/ngin ...

  6. 后端程序员之路 6、Python fabric

    直接写shell固然也很好,但是用python来写脚本,也是美滋滋.fabric是一个封装部署.多机操作等功能的python库. Welcome to Fabric! - Fabric documen ...

  7. Python Fabric远程自动部署简介

    Fabric是一个Python(2.5-2.7)库,用于简化使用SSH的应用程序部署或系统管理任务. 它提供的操作包括:执行本地或远程shell命令,上传/下载文件,以及其他辅助功能,如提示用户输入. ...

  8. Python 远程开发环境部署与调试

    一.下载相应开发工具 Pycharm :下载地址  二.部署开发机 一般在工作过程中,开发环境并不是本地环境,而是指在开发机:因为,有很多依赖本地部署非常麻烦,而开发机中则内置了很多相关的服务 三.代 ...

  9. 使用python fabric搭建RHEL 7.2大数据基础环境以及部分优化

    1.使用python fabric进行Linux基础配置 使用python,可以让任何事情高效起来,包括运维工作,fabric正式这样一套基于python2的类库,它执行本地或远程shell命令提供了 ...

随机推荐

  1. Visual C++中error spawning cl.exe解决方法

    点击“Tools”,选择“选项”,选择“选项”中的“目录” 目录的目录下有四个选项 需要对它们设置正确的路径 我是按照默认路径安装的 可执行文件: C:\Program Files\Microsoft ...

  2. Win7开始菜单所在目录

    C:\ProgramData\Microsoft\Windows\Start Menu\Programs 可在此目录下归类,建文件夹

  3. 关于XSS漏洞的简介以及分类

    不得不说注入的时代已经过去了,最近xss貌似比较热门.我就去恶补了一下,我表示我只是菜鸟,对xss不了解.所以从最基本的学起. 什么xss漏洞? 一.XSS攻击简介 作为一种HTML注入攻击,XSS攻 ...

  4. 用python40行代码编写的计算器

    效果图 代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 ...

  5. 什么是DA控制

    液压系统中的DA控制: Automotive Drive control & Anti stall control 自动变速控制 & 防熄火控制 (DA控制) 1:自动(变速)驱动控制 ...

  6. Unable to correct problems, you have held broken package

    其实这篇接着上文(一),主要是解决samba安装的问题,中间又是一路曲折.不过这个问题也算是比较典型,有必要记录一下. #apt-get install smb* 安装失败.其实顺利的话,直接一条这样 ...

  7. Mycat之日志分析 select * from travelrecord order by id limit 100000,100 的执行过程

    解释:mycat在执行分页排序的时候,分成2步走.如果M很大,会改写成 limit 0,m+n, 然后在每个MYSQL分片上排序后还需要在mycat汇总输出,所以会很慢.下面是详细执行计划以及日志输出 ...

  8. Spring Cloud Config 1 (分布式配置中心)

    spring cloud config是spring cloud团队创建的一个全新的项目,用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,它分为服务端和客户端两部分. 服务端也被称为 ...

  9. centos 中没有 ifcfg-eth0 配置文件的解决办法

    用 CentOS-6.5-i386-LiveDVD.iso 镜像安装好CentOS 6.5系统后(已经把系统写入硬盘),发现ip在每次重启后都会还原,用ifconfig查看是有eth0网卡的(也有可能 ...

  10. java Web EL表达式详解

    1.EL表达式的简介 EL表达式是一种JSP技术,能够代替JSP中原本要用Java语言进行显示的语句,使得代码更容易编写与维护.最基本的语法是${express}. 2.获取并显示数据 从四个域中通过 ...