zoukankan      html  css  js  c++  java
  • fabric 安装及使用

    官网地址

    1.安装

     pip install fabric


        依赖 Paramiko 、PyCrypto库

      以下依赖肯能要手动安装 

    #安装 pycrypto 密码库
    pip install pycrypto
    #安装 pycrypto 依赖 pip install ecdsa


      ps:【windows7 x64 ,python2.7 】Windows下pip安装包报错:Microsoft Visual C++ 9.0 is required Unable to find vcvarsall.bat   
       
        可以安装一个Micorsoft Visual C++ Compiler for Python 2.7的包



       
    2.fabric使用

        新建py脚本:fabfile.py

     def hello():
            print("Hello world!")


        执行fab命令

    fab hello


        如果当前模块下没有fabfile.py文件,那么需要指定-f参数  

     fab -f test.py hello

        使用参数

    def hello(name, value):
        print("%s = %s!" % (name, value))
    
    
    fab hello:name
    =age,value=20


        执行本地操作

    from fabric.api import local, lcd
    
    def lsfab():
      with lcd('~/tmp/fab'):
         local('ls')


        远程操作

    def setting_ci():
        local('echo "add and commit settings in local"')
    
    def update_setting_remote():
         print "remote update"
         with cd('~/temp'):   #cd用于进入某个目录
             run('ls -l | wc -l')  #远程操作用run 


        多服务器操作

    #!/usr/bin/env python
    # encoding: utf-8
    
    from fabric.api import *
    env.roledefs = {
                'testserver': ['user1@host1:port1',],
                'productserver': ['user2@host2:port2', ]
                }            
    
    @roles('testserver')
    def task1():
        run('ls -l | wc -l')
    
    @roles('productserver')
    def task2():
        run('ls ~/temp/ | wc -l')
    
    def do():
        execute(task1)
        execute(task2) 


        用不同颜色打印

    from fabric.colors import *
    
    def show():
        print green('success')
        print red('fail')
        print yellow('yellow')   


        fabric 命令行工具

    装饰器作用?
        @task
        @parallel
    
        命令行常用: fab --help
        fab -l             -- 显示可用的task(命令)
        fab -H             -- 指定host,支持多host逗号分开
        fab -R             -- 指定role,支持多个
        fab -P             -- 并发数,默认是串行
        fab -w             -- warn_only,默认是碰到异常直接abort退出
        fab -f             -- 指定入口文件,fab默认入口文件是:fabfile/fabfile.py

     更多参见官网

       
     

  • 相关阅读:
    Python 存储引擎 数据类型 主键
    Python 数据库
    Python 线程池进程池 异步回调 协程 IO模型
    Python GIL锁 死锁 递归锁 event事件 信号量
    Python 进程间通信 线程
    Python 计算机发展史 多道技术 进程 守护进程 孤儿和僵尸进程 互斥锁
    Python 异常及处理 文件上传事例 UDP socketserver模块
    Python socket 粘包问题 报头
    Django基础,Day7
    Django基础,Day6
  • 原文地址:https://www.cnblogs.com/rsky/p/5188817.html
Copyright © 2011-2022 走看看