iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >在Linux上如何安装 Fabric
  • 355
分享到

在Linux上如何安装 Fabric

2023-06-16 15:06:08 355人浏览 泡泡鱼
摘要

这篇文章主要介绍在linux上如何安装 Fabric,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Fabric 是一个用 python 编写的命令行工具库,它可以帮助系统管理员高效地执行某些任务,比如通过 ssh &

这篇文章主要介绍在linux上如何安装 Fabric,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

Fabric 是一个用 python 编写的命令行工具库,它可以帮助系统管理员高效地执行某些任务,比如通过 ssh  到多台机器上执行某些命令,远程布署应用等。

在使用之前,如果你拥有使用 Python 的经验能帮你更好的使用 Fabric。当然,如果没有那也不影响使用 Fabric。

我们为什么要选择 Fabric:

  • 简单

  • 完备的文档

  • 如果你会 Python,不用增加学习其他语言的成本

  • 易于安装使用

  • 使用便捷

  • 支持多台机器并行操作

在 Linux 上如何安装 Fabric

Fabric 有一个特点就是要远程操作的机器只需要支持标准的 OpenSSH 服务即可。只要保证在机器上安装并开启了这个服务就能使用 Fabric  来管理机器。

依赖

  • Python 2.5 或更新版本,以及对应的开发组件

  • Python-setuptools 和 pip(可选,但是非常推荐)GCc

我们推荐使用 pip 安装 Fabric,但是你也可以使用系统自带的包管理器如 yum, dnf 或 apt-get 来安装,包名一般是fabric 或  python-fabric。

如果是基于 RHEL/Centos 的发行版本的系统,你可以使用系统自带的 EPEL 源 来安装 fabric。

# yum install fabric   [适用于基于 RedHat 系统] # dnf install fabric   [适用于 Fedora 22+ 版本]

如果你是 Debian 或者其派生的系统如 ubuntu 和 Mint 的用户,你可以使用 apt-get 来安装,如下所示:

# apt-get install fabric

如果你要安装开发版的 Fabric,你需要安装 pip 来安装 master 分支上***版本。

# yum install python-pip       [适用于基于 RedHat 系统] # dnf install python-pip       [适用于Fedora 22+ 版本] # apt-get install python-pip   [适用于基于 Debian 系统]

安装好 pip 后,你可以使用 pip 获取***版本的 Fabric。

# pip install fabric

如何使用 Fabric 来自动化管理 Linux 任务

现在我们来开始使用 Fabric,在之前的安装的过程中,Fabric Python 脚本已经被放到我们的系统目录,当我们要运行 Fabric 时输入  fab 命令即可。

在本地 Linux 机器上运行命令行

按照惯例,先用你喜欢的编辑器创建一个名为 fabfile.py 的 Python  脚本。你可以使用其他名字来命名脚本,但是就需要指定这个脚本的路径,如下所示:

# fabric --fabfile /path/to/the/file.py

Fabric 使用 fabfile.py 来执行任务,这个文件应该放在你执行 Fabric 命令的目录里面。

例子 1:创建入门的 Hello World 任务:

# vi fabfile.py

在文件内输入如下内容:

def hello(): print('Hello world, Tecmint commUnity')

保存文件并执行以下命令:

# fab hello

在Linux上如何安装 Fabric

Fabric 工具使用说明

例子 2:新建一个名为 fabfile.py 的文件并打开:

粘贴以下代码至文件:

#!  /usr/bin/env python from fabric.api import local def uptime():     local('uptime')

保存文件并执行以下命令:

# fab uptime

在Linux上如何安装 Fabric

Fabric: 检查系统运行时间

让我们看看这个例子,fabfile.py 文件在本机执行了 uptime 这个命令。

在远程 Linux 机器上运行命令来执行自动化任务

Fabric API 使用了一个名为 env 的关联数组(Python 中的词典)作为配置目录,来储存 Fabric 要控制的机器的相关信息。

env.hosts 是一个用来存储你要执行 Fabric 任务的机器的列表,如果你的 IP 地址是 192.168.0.0,想要用 Fabric  来管理地址为 192.168.0.2 和 192.168.0.6 的机器,需要的配置如下所示:

#!/usr/bin/env python from fabric.api import env     env.hosts = [ '192.168.0.2', '192.168.0.6' ]

上面这几行代码只是声明了你要执行 Fabric 任务的主机地址,但是实际上并没有执行任何任务,下面我们就来定义一些任务。Fabric  提供了一系列可以与远程服务器交互的方法。

Fabric 提供了众多的方法,这里列出几个经常会用到的:

  • run - 可以在远程机器上运行的 shell 命令

  • local - 可以在本机上运行的 shell 命令

  • sudo - 使用 root 权限在远程机器上运行的 shell 命令

  • get - 从远程机器上下载一个或多个文件

  • put - 上传一个或多个文件到远程机器

例子 3:在多台机子上输出信息,新建新的 fabfile.py 文件如下所示

#!/usr/bin/env python from fabric.api import env, run env.hosts = ['192.168.0.2','192.168.0.6'] def echo():     run("echo -n 'Hello, you are tuned to Tecmint ' ")

运行以下命令执行 Fabric 任务

# fab echo

在Linux上如何安装 Fabric

fabric: 自动在远程 Linux 机器上执行任务

例子 4:你可以继续改进之前创建的执行 uptime 任务的 fabfile.py  文件,让它可以在多台服务器上运行 uptime 命令,也可以检查其磁盘使用情况,如下所示:

#!/usr/bin/env pythonfrom fabric.api import env, runenv.hosts = ['192.168.0.2','192.168.0.6']def uptime(): run('uptime')def disk_space(): run('df -h')

保存并执行以下命令

# fab uptime# fab disk_space

在Linux上如何安装 Fabric

Fabric:自动在多台服务器上执行任务

在远程服务器上自动化布署 LAMP

例子 5:我们来尝试一下在远程服务器上布署 LAMP(Linux, Apache, MySQL/MariaDB and PHP)

我们要写个函数在远程使用 root 权限安装 LAMP。

在 RHEL/CentOS 或 Fedora 上

#!/usr/bin/env python from fabric.api import env, run env.hosts = ['192.168.0.2','192.168.0.6'] def deploy_lamp():     run ("yum install -y Httpd mariadb-server php php-Mysql")

在 Debian/Ubuntu 或 Linux Mint 上

#!/usr/bin/env python from fabric.api import env, run env.hosts = ['192.168.0.2','192.168.0.6'] def deploy_lamp():     sudo("apt-get install -q apache2 mysql-server libapache2-mod-php5 php5-mysql")

保存并执行以下命令:

# fab deploy_lamp

注:由于安装时会输出大量信息,这个例子我们就不提供屏幕 gif 图了

现在你可以使用 Fabric 和上文例子所示的功能来自动化的管理 Linux 服务器上的任务了。

一些 Fabric 有用的选项

  • 你可以运行 fab -help 输出帮助信息,里面列出了所有可以使用的命令行信息

  • –fabfile=PATH 选项可以让你定义除了名为 fabfile.py 之外的模块

  • 如果你想用指定的用户名登录远程主机,请使用 -user=USER 选项

  • 如果你需要密码进行验证或者 sudo 提权,请使用 –passWord=PASSWORD 选项

  • 如果需要输出某个命令的详细信息,请使用 –display=命令名 选项

  • 使用 --list 输出所有可用的任务

  • 使用 --list-fORMat=FORMAT 选项能格式化 -list 选项输出的信息,可选的有 short、normal、 nested

  • --config=PATH 选项可以指定读取配置文件的地址

  • -–colorize-errors 能显示彩色的错误输出信息

  • --version 输出当前版本

以上是“在Linux上如何安装 Fabric”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网操作系统频道!

--结束END--

本文标题: 在Linux上如何安装 Fabric

本文链接: https://www.lsjlt.com/news/284194.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 在Linux上如何安装 Fabric
    这篇文章主要介绍在Linux上如何安装 Fabric,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Fabric 是一个用 Python 编写的命令行工具库,它可以帮助系统管理员高效地执行某些任务,比如通过 SSH &...
    99+
    2023-06-16
  • 在Linux上如何安装PostgreSQL
    这篇文章主要介绍了在Linux上如何安装PostgreSQL,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。PostgreSQL 的官方下载地址为:ftp://ftp.post...
    99+
    2023-06-13
  • 如何在Linux上安装GitHub
    GitHub是一款流行的代码托管平台,它提供了优秀的版本控制和协作功能,让团队开发项目更加高效。而Linux系统是广泛应用的操作系统之一,许多开发者也喜欢在Linux上工作。那么本文将介绍如何在Linux上安装GitHub,让你可以享受Gi...
    99+
    2023-10-22
  • 在Linux上如何安装s3cmd
    这篇文章主要为大家展示了“在Linux上如何安装s3cmd”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“在Linux上如何安装s3cmd”这篇文章吧。在Linux上安装s3cmd在Ubuntu或...
    99+
    2023-06-16
  • 如何在Linux上安装Node.js8
    这篇文章主要讲解了“如何在Linux上安装Node.js8”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何在Linux上安装Node.js8”吧! ...
    99+
    2023-05-25
    linux node.js
  • 在 Linux上如何安装moreutils
    这篇文章给大家分享的是有关在 Linux上如何安装moreutils的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。我们都了解GNU 核心实用程序GNU Core Utilities,所有类 Unix 操作系统都预...
    99+
    2023-06-16
  • 如何在Linux上安装Java?
    在Linux上安装Java是一项非常常见的操作,因为Java是一种广泛使用的编程语言,它适用于各种应用程序和操作系统。在本文中,我们将介绍在Linux上安装Java的步骤。 首先,我们需要下载Java安装包。你可以到Java官方网站下载最新...
    99+
    2023-09-10
    javascript shell linux
  • 如何在linux上安装vnc
    本篇内容介绍了“如何在linux上安装vnc”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在linux上安装vnc的方法:1、利用“yum ...
    99+
    2023-06-29
  • 如何在Ubuntu Linux上安装MySQL
    如何在Ubuntu Linux上安装MySQL,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。MySQL 是一个典型的数据库管理系统。它被用于许多技术栈中,包括流行的 LAMP ...
    99+
    2023-06-16
  • mysql在linux上cmake如何安装
    这篇文章将为大家详细讲解有关mysql在linux上cmake如何安装,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、安装前准备: 1)必备的包和工具 gcc/g+...
    99+
    2024-04-02
  • 如何在 VirtualBox 上安装 Kali Linux
    Kali Linux 是最好的黑客 和安全爱好者的 Linux 发行版之一。由于它涉及像黑客这样的敏感话题,它就像一把双刃剑。我们过去在一篇详细的 Kali Linux 点评中对此进行了讨论,所以我不会再次赘述。虽然你可...
    99+
    2023-06-05
  • 在Intel NUC上如何安装Linux
    小编给大家分享一下在Intel NUC上如何安装Linux,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在 NUC 上安装 Linux现在我准备安装 Ubuntu...
    99+
    2023-06-16
  • 如何在Linux CentOS上安装PHP7
    如何在Linux CentOS上安装PHP7 在Linux CentOS操作系统中安装PHP7是一个常见的需求,本文将为您详细介绍如何在Linux CentOS上安装PHP7,并提供具...
    99+
    2024-03-07
    linux centos 安装php
  • 如何使用Vagrant安装Tungsten Fabric
    如何使用Vagrant安装Tungsten Fabric,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。01准备测试机在16G的笔记本没跑起来,就干脆拼凑了一台游...
    99+
    2023-06-03
  • 在linux上如何安装配置mysql8.018
    这篇文章主要为大家展示了“在linux上如何安装配置mysql8.018”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“在linux上如何安装配置mysql8.0...
    99+
    2024-04-02
  • 在 Linux 上如何安装 MariaDB 或 MySQL
    小编给大家分享一下在 Linux 上如何安装 MariaDB 或 MySQL,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!MariaDB 和 ...
    99+
    2023-06-15
  • 如何在Linux上安装Arduino IDE 1.8.12
    如何在Linux上安装Arduino IDE 1.8.12,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Arduino是一个广泛研究使用的开源电子产品原型平台,用于创建可以使用...
    99+
    2023-06-28
  • 如何在Oracle Linux 7.1上安装Docker
    本篇文章给大家分享的是有关如何在Oracle Linux 7.1上安装Docker,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。在Oracle Linux 7.1上安装Dock...
    99+
    2023-06-05
  • 如何在Linux上安装Adobe Flash Player
    如何在Linux上安装Adobe Flash Player,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。访问flash官网,点击下载,选择你的操作系统和flash版本下载后,解...
    99+
    2023-06-05
  • 如何在Linux 系统上安装Java
    如何在Linux 系统上安装Java,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。导读在桌面上拥抱 Java 应用程序,然后在所有桌面上运行它们。无论你运行的是哪种操作系统,通...
    99+
    2023-06-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作