欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-18 08:21:11
...

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')
    
     
相关标签: fabric