python fabric的安装与使用

背景:fabric主要执行远程的shell命令,包括文件的上传、下载,以及提示用户输入等辅助其它功能。

测试系统:ubuntu16

要求:python    //系统有自带,ubuntu16 通常自带python2.7.5

一、安装fabric

  1、安装fabric

$ sudo apt-get install python-pip

$ sudo pip install --upgrade pip                            //升级pip

$ sudo pip install fabric

  2、查看安装结果

$ which fab

二、fabric的使用

  1、编写hello脚本: vim /tmp/fab/hello.py

  1.1 脚本内容

#!/usr/bin/env python

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

  1.2 运行文件及输出结果

$ fab -f hello.py hello

----------------------------------------->

Hello world!

Done.

  2、参数传递:vim /tmp/fab/test1.py

  2.1 脚本内容

#!/usr/bin/env python

def hello(name):

        print(‘Hello %s!‘ % name)

  2.2 运行文件及输出结果

$ fab -f test01.py hello:jeff

-------------------------------------->
Hello jeff!

Done.

  3、本地操作

  3.1 vim /tmp/fab/lslocal.py

#!/usr/bin/env python

from fabric.api import local

def lslocal():
        local(‘cd /usr/local‘)
        local(‘ls‘)

  3.2 运行文件及输出结果

$ fab -f local.py lslocal
[localhost] local: cd /usr/local && ls
bin  etc  games  include  lib  man  sbin  share  src

Done.

  4、远程操作

  4.1 脚本内容

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from fabric.api import env,roles,run,execute

env.roledef = {
        ‘server1‘: [‘root@172.16.1.201:22‘,],
        ‘server2‘: [‘zun1@172.16.1.206:22‘,]
}
env.password = ‘123456‘

@roles(‘server1‘)
def task1():
        run(‘cd /usr/local && ls‘)

@roles(‘server2‘)
def task2():
        run(‘cd /home/zun1 && ls‘)

def test():
        execute(task1)
        execute(task2)

  4.2 运行文件及输出结果

$ fab -f test01.py test

------------------------------------------------------------------------------------>

[root@172.16.1.201:22] Executing task ‘task1‘
[root@172.16.1.201:22] run: cd /usr/local && ls
[root@172.16.1.201:22] out: bin  etc  games  include  lib  lib64  libexec  sbin  share  src
[root@172.16.1.201:22] out: 

[zun1@172.16.1.206:22] Executing task ‘task2‘
[zun1@172.16.1.206:22] run: cd /home/zun1 && ls
[zun1@172.16.1.206:22] out: test_fabric  walle-web.vendor.tgz
[zun1@172.16.1.206:22] out: 

Done.
Disconnecting from root@172.16.1.201... done.
Disconnecting from 172.16.1.206... done.

以上只对fabric做个大概演示,如想深入研究,可查看 官网教程

  

时间: 2025-01-04 14:30:43

python fabric的安装与使用的相关文章

Python自动化运维工具fabric的安装

使用shell命令进行复杂的运维时,代码往往变得复杂难懂,而使用python脚本语言来编写运维程序,就相当于开发普通的应用一样,所以维护和扩展都比较简单,更重要的是python运维工具fabric能自动登录其他服务器进行各种操作,这种实现使用shell是很难做到的,但是使用fabric实现就很简单,所以对于程序员的日常运维部署,建议使用python编写脚本 Linux下默认有python环境,安装fabric有两种方式一种是pip直接安装,另外一种是下载fabric源码,使用setuptools

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

1.使用python fabric进行Linux基础配置 使用python,可以让任何事情高效起来,包括运维工作,fabric正式这样一套基于python2的类库,它执行本地或远程shell命令提供了操作的基本套件(正常或通过sudo)和上传/下载文件,如提示用户输入运行辅助功能,或中止执行. 用Python3开发的部署工具叫fabric3:fabric3,和fabric一样最大特点是不用登录远程服务器,在本地运行远程命令,几行Python脚本就可以轻松部署. 典型用途包括创建一个包含一个或多个

Python Fabric 模块 介绍及简单应用

来源:<Python自动化运维> Fabric的安装 Fabric支持pip.easy_install或源码安装方式,很方便解决包依赖的问题,具体安装命令如下( 根据用户环境,自行选择pip或easy_install): pip install fabric easy_install fabric Fabric依赖第三方的setuptools.Crypto.paramiko包的支持,源码 安装步骤如下: # yum -y install python-setuptools # wget htt

Python - Fabric简介

1 - Fabric Fabric是一个Python的库,提供了丰富的同SSH交互的接口,可以用来在本地或远程机器上自动化.流水化地执行Shell命令. 非常适合用来做应用的远程部署及系统维护.简单易用,只需懂得基本的Shell命令. HomePage:http://www.fabfile.org/ Docs:http://docs.fabfile.org/ GitHub:https://github.com/fabric/fabric/ ChangeLog:http://www.fabfile

一、Python Django的安装

   一.Python Django的安装 一.Django的安装 # wget https://www.djangoproject.com/m/releases/1.3/Django-1.3.7.tar.gz --no-check-certificate # tar -zxvf Django-1.3.7.tar.gz # cd Django-1.3.7 # python setup.py install # python Python 2.6.6 (r266:84292, Nov 22 201

Python -- 关于pip安装Ipython

小Q:山外青山楼外楼,西湖歌舞几时休:暖风熏得游人醉,只把杭州比汴州.     --林升··题临安邸 ======================================================== 来到杭州的第18天,第一次孤身来到南方,每当周六日时孤独感袭来.无奈,只能寻求兴趣.学习,填补. 一直在实验用pip安装ipython的方式,遇到了一些问题,见下: 环境:centos 6 推荐源:wget   http://mirrors.aliyun.com/epel/epel-

Windows系统下Python与NumPy安装方法

Windows系统下Python与NumPy安装方法 Windows下Python的某些第三方包安装步骤实在是太麻烦了(这里主要以NumPy为例,目前只有遇到安装它的时候出现了很多问题),晚上花了好几个小时才把NumPy科学计算包安装好,在这里描述下安装过程,避免大家走没有必要的弯路. 1,安装Python 首先,运行下载的MSI安装包,选择安装组件时,确保勾上了所有的组件. 特别要注意选上pip和Add python.exe to Path,然后多次点击Next即可完成安装. Python解释

python模块的安装

1.下载所需模块 2.解压到一个目录 3.window下打开cmd 4.切换到模块setup.py目录 5.执行python setup.py install安装 前提是安装了python,并且配置了环境变量. python模块的安装,布布扣,bubuko.com

Python 2.7安装setuptools时的UnicodeDecodeError解决办法

我猜~~~很多一开始学习python的同学们一定也遇到了这个问题,在安装setuptools时候会遇到UnicodeDecodeError的错误. 我学的是3.x,但是周围的人都说2.7好,╮(╯▽╰)╭一开始我也不在乎,但是工作需要使用mongodb,但是它的包暂时只有2.7,我点点点点. 无奈我也就换了版本,改为2.7,但是问题来了,当我想安装setuptools的时候,恶心的错误来了.真的不知道安装这种成熟的工具还有这种问题. 在经过各种谷哥.度娘之后,有的说在代码中制定编码,试了不行,有