【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')
    
     
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值