`

【Python真的很强大】使用fabfile.py来自动化你的任务

阅读更多

Fabric简介:

通过ssh登录远程主机,可以部署应用程序和管理系统日常任务。如果你使用过SMB或NFS,你会觉得管理远程文件和本地文件没有什么差异。使用fab管理文件,你也会有如此感受。

 

  • 管理系统日常任务
    • 查询所有主机crontab中是否包含指定任务
      def checkCron(keywords):
          setSshAccount()
          result= run("crontab -l | grep -i \"%s\" | grep -vq '#'  && echo 'exists' || echo 'does not exist'" % keywords)
          print "%s:%s %s" % (env.host,keywords,result)
      
      
      #执行: fab checkCron:keywords='xyz_handler' --hide=everything -P  --skip-bad-hosts
      
      
       
    • 查询所有主机进程列表中是否包含指定程序
      def checkProcess(keywords):
          setSshAccount()
          result= run("ps -ef | grep -i \"%s\" | grep -vq 'grep'  && echo 'is running' || echo 'is not running'" % keywords)
          print "%s:%s %s" % (env.host,keywords,result)
      
      
      #fab checkProcess:keywords='tomcat' --hide=everything -P  --skip-bad-hosts
       
  • 部署应用
    def deploy():
    	  local('cd /my local dir && ./compile && ./jar-makefile')
    	  with cd('server dir'):
    	  	with settings(warn_only=True):
    	  		run('run.sh stop')
    			run('mv prod.jar prod.jar.ORG.%s' % datetime.datetime.now().strftime("%Y%m%d"))
    	  put('my local prod.jar','server dir')
    
     
2
0
分享到:
评论

相关推荐

    PyPI 官网下载 | django-fabfile-2012.03.31.3.tar.gz

    它可以通过PyPI进行下载,解压后可能包含`setup.py`和`fabfile.py`等文件,用户可以使用这些文件来配置和执行自动化任务。由于版本较旧,用户在使用时需要考虑兼容性问题,并可能需要查阅当时的文档或源代码以获取...

    Python_fabric是一个开源框架,用于使用AI增强人类。它提供了一个模块化框架,用于使用一组可在任何地方使用的.zip

    Python Fabric 是一个强大的工具,专为自动化和部署任务而设计,而非如标题所误述的用于AI增强人类。它的核心功能在于简化远程服务器上的命令执行,使得开发者可以编写脚本来批量处理多台服务器的任务,极大地提高了...

    jenkins代码上线-fabfile代码发布python完整脚本程序代码文件.py

    在 Jenkins 中,你可以通过编写或配置脚本来实现代码的自动化上线。一个简化的步骤和脚本介绍,用于指导如何在 Jenkins 中设置代码上线的流程。先 设置 Jenkins 项目,在 Jenkins 中创建一个新的 Freestyle 项目或 ...

    Python库 | fabtools-0.20.0.tar.gz

    在实际使用中,开发者会结合 Fabric 和 `fabtools` 来编写 fabfile.py,这个文件包含了所有的自动化任务。通过运行 `fab` 命令,你可以执行 fabfile.py 中的任何任务,从而实现对远程服务器的自动化管理。 总结起来...

    Python自动化部署工具Fabric的简单上手指南.pdf

    Python自动化部署工具Fabric是一个强大的用于远程服务器自动化执行任务的库,它基于SSH协议,使得开发者可以用Python语言编写脚本来管理和部署应用程序。Fabric简化了传统SSH命令行工具的操作,提高了效率和可读性。...

    PyPI 官网下载 | django-development-fabfile-2.3.tar.gz

    Fabric(Fabfile)是一种自动化部署工具,通常用于简化管理和部署Python项目,包括Django应用。因此,"django-development-fabfile"很可能是一个包含Fabric任务的文件,用于帮助开发者进行Django项目的开发、测试和...

    如何利用Fabric自动化你的任务.pdf

    总之,Fabric 是一个强大的工具,它允许你用 Python 编程的方式来自动化和管理远程服务器的任务。通过理解和掌握 Fabric 的基本概念和函数,你可以轻松地构建起一套完善的服务器自动化流程,提高工作效率。无论是...

    PyPI 官网下载 | django-fabfile-2011.09.02.1.tar.gz

    在实际使用中,用户首先需要将这个`.tar.gz`文件解压缩,然后使用Python的`setup.py`脚本来安装到他们的环境中。如果`django-fabfile`提供了具体的使用示例或文档,用户应该参考`README`文件来了解如何配置和运行...

    Python库 | laf-fabric-4.5.25.tar.gz

    一旦安装完毕,你就可以开始编写fabfile.py,这是一个包含你的Fabric任务的Python文件。 在fabfile.py中,你可以定义自己的任务函数,比如: ```python from fabric.api import run def deploy(): run('cd /path...

    Python-Fabric是一款django2Fabric3python3开源的代码部署工具

    Python Fabric 是一个强大的自动化部署和任务执行框架,尤其在Python开发环境中被广泛使用。它结合了Django2、Fabric3和Python3等技术,旨在简化服务器管理任务,如代码部署、系统配置、运行命令等。这个开源工具因...

    PyPI 官网下载 | fabric-am-handlers-0.8.tar.gz

    在Python中,Fabric是一个强大的命令执行和部署工具,它允许通过SSH连接到远程服务器执行命令,进行自动化运维任务。而`fabric-am-handlers`则是Fabric的一个扩展,专门针对Amazon Web Services提供了额外的功能和...

    Python库 | fabric-cf-1.1b3.tar.gz

    在Python的世界里,有一款名为Fabric的库,它专为自动化运维任务和部署而设计。 Fabric-CF是Fabric的一个扩展,增加了更多功能,使得开发者和运维人员能更方便地管理远程服务器。在本文中,我们将深入探讨Fabric-CF...

    Python应用自动化部署工具Fabric原理及使用解析

    Fabirc是基于python实现的SSH命令行工具,非常适合应用的自动化部署,或者执行系统管理任务。 python2:pip3 install fabric python3:pip3 install fabric3 简单的例子: root@openstack:~# cat fabfile.py def ...

    python使用Fabric模块实现自动化运维

    简介:Fabric提供了系统基础的操作组件,...常用参数编写一个fabfile.py文件vimfabfile.pyfab命令操作:上面实例也可以写成一行代码:fab命令是结合fabfile.py文件(其他文件通过-ffilename参数来引用)来搭配使用的。fa

    Python自动化运维和部署项目工具Fabric使用实例

    ### Fabric在Python自动化运维和部署中的应用 #### Fabric概述 Fabric是一个用Python编写的开源库...总之,Fabric为Python自动化运维提供了强大的支持,特别是在处理分布式系统的部署与管理方面展现出了显著的优势。

    Python库 | bsdploy-1.0b2.zip

    `bsdploy`通常与`Fabric`配合使用,利用`fabfile.py`定义部署任务。 **总结** `bsdploy`是针对`FreeBSD`系统的强大自动化部署工具,它简化了服务器配置和管理的过程,提高了运维效率。结合其丰富的功能和易于理解...

    自动化部署教程.docx

    自动化部署是指使用自动化工具和技术来实现软件的部署和管理,旨在提高部署效率和可靠性。下面将从 pexpect 和 Fabric 两个方面对自动化部署进行讲解。 1. pexpect 模块 pexpect 是一个 Python 模块,实现了 ...

    Python自动化部署工具Fabric的简单上手指南

    Fabric 是基于 SSH 协议的 Python 工具,相比传统的 ssh/scp 方式,用 Python 的语法写管理命令更易读也更容易扩展,管理单台或者多台机器犹如本地操作一般。 官网地址:http://fabfile.org 安装 省略python、pip...

    python三大神器之fabric使用教程

    - **任务管理**:定义一系列可重复使用的任务,通过简单的Python脚本来实现复杂的部署流程。 - **错误处理**:提供了一套机制来处理执行过程中可能出现的各种异常情况。 #### 三、常用命令详解 - **`lcd(dir)`**:...

    PyPI 官网下载 | fabric-cf-0.16.tar.gz

    Fabric是Python中一个著名的自动化运维工具,它允许用户通过简单的Python脚本执行远程命令和文件传输,...如果你打算使用这个包,建议仔细阅读文档,理解其提供的功能,并根据需求编写或调整`fabfile.py`中的任务定义。

Global site tag (gtag.js) - Google Analytics