使用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

最新文章

  1. Java进阶(五)Java I/O模型从BIO到NIO和Reactor模式
  2. JavaEE视频学习
  3. 4G基站如何查询
  4. 高性能JavaScript 加载和执行
  5. Redis Sentinel机制与用法(一)
  6. eclipse https git
  7. tomcat7登录账户配置
  8. thinkphp中模板继承
  9. Python 深拷贝和浅拷贝
  10. ORCLE INNODB 博客与 innodb_lru_scan_depth
  11. 微信js获得签名signature
  12. HttpContext.Current.User.Identity.IsAuthenticated
  13. PHP问题
  14. 2的N次方
  15. WWDC2014之App Extensions学习笔记
  16. [转] 有趣的JavaScript原生数组函数
  17. SDWebImage 常用方法
  18. Java 重入锁 ReentrantLock
  19. As3.0 Interface 与类的使用
  20. Influxdb1.2.2安装

热门文章

  1. 40个Java多线程问题总结【转】
  2. selenium - 驱动 chromedriver 初始化问题总结
  3. .gitignore non-valiate
  4. html5调用本机摄像头兼容谷歌浏览器高版本,谷歌浏览器低版本,火狐浏览器
  5. 关于 pycharm 安装第三方模块的一些经验
  6. 值得一做》一道类似于货车运输的题目(BZOJ3732)(easy+)
  7. CentOS集群自动同步时间的一种方法
  8. UOJ 176 新年的繁荣
  9. osm2pgsql windows “illegal option -W” error
  10. django: rest-framework的 分页和过滤