Fabric 应用案例
作者:mdxy-dxy 发布时间:2021-10-11 13:13:01
标签:Fabric
示例1:文件打包,上传与校验
我们时常做一些文件包分发的工作,实施步骤一般是先压缩打包,在批量上传至目标服务器,最后做一致性校验,本案例通过put()方法实现文件的上传,通过对比本地与远程主机文件的md5,最终实现文件一致性校验。
#!/usr/bin/env python
from fabric.api import *
from fabric.context_managers import *
from fabric.contrib.console import confirm
env.user = 'root'
env.hosts = ['192.168.1.23','192.168.1.24']
env.password = '123456'
@runs_once
def tar_task(): #本地打包任务函数,只限执行一次
with lcd('/'):
local("tar zcvf auto.tar.gz auto")
def put_task():
run('mkdir /data') #上传任务函数
with cd("/data"):
with settings(warn_only=True):
result = put("/auto.tar.gz","/data") #put上传出现异常时继续执行,非中止
if result.failed and not confirm("put file failed, Continue[Y/N]?"):
abort('Aboring file put task!') #出现异常时,确认用户是否继续
def check_task():
with settings(warn_only=True):
lmd5 = local("md5sum /auto.tar.gz",capture=True).split(' ')[0]
rmd5 = run("md5sum /data/auto.tar.gz").split(' ')[0]
if lmd5 == rmd5: #对比本地及远程文件MD5信息
print "ok"
else:
print ERROR
def go():
tar_task()
put_task()
check_task()
0
投稿
猜你喜欢
- 问题setInterval 是间隔调用,与之类似的还有 setTimeout。这两个 API 通常用来做 ajax 短连接轮询数据。比如有一
- 一、简介我们在这里采用Python中的matplotlib来实现曲线图形的绘制。matplotlib是著名的python绘图库,它提供了一整
- 对文件进行重命名直接贴代码: import ossrcFile = './actwork/linkFile/allExtL
- Vue-Access-Control是一套基于Vue/Vue-Router/axios 实现的前端用户权限控制解决方案,通过对路由、视图、请
- 1、最小二乘也可以拟合二次函数我们都知道用最小二乘拟合线性函数没有问题,那么能不能拟合二次函数甚至更高次的函数呢?答案当然是可以的。下面我们
- 目录前言创建对象方式一:方式二:更新对象方式一:方式二:方式三:查询检索全部对象:条件过滤:方式一:方式二:检索单个对象:总结前言上篇已经介
- 1.安装pymysql:pip install pymysql (在命令行窗口中执行)2.卸载pymysql:pip uninstall p
- Python实现完整邮件先上效果:一、邮箱端设置首先,要对邮件进行一下设置,在邮箱端获取一个授权码。1、首先登录网页版126邮箱
- 一、安装库首先我们需要安装PIL和pytesseract库。PIL:(Python Imaging Library)是Python平台上的图
- 打开网页,然后将javascript:document.body.contentEditable='true';
- 导航标签彼此互斥、完全穷尽。导航标签其实就是一种文字表达形式,我们用标签来代表网站上的各种分类信息。比如“联系我们”这个标签,代表的内容通常
- 方法一:torch.nn.DataParallel1. 原理如下图所示:小朋友一个人做4份作业,假设1份需要60min,共需要240min。
- 这篇文章主要介绍了Python tkinter常用操作代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
- vue跳转后不记录历史记录vue路由跳转一般情况下是使用push, this.$router.push({  
- 问题: 1. 后台管理员只有一个用户: admin, 密码: admin 2. 当管理员登陆成功后, 可以管理前台会员信
- 网上的教程大多数是教大家如何加载自定义模型和函数,如下图这个SelfAttention层是在训练过程自己定义的一个class,但如果要加载这
- 树树(Tree)是n(n≥0)个节点的有限集。在任意一棵树中:(1)有且仅有一个特定的称为根(Root)的节点;(2)当n>1
- 我们开发项目常常将项目上传到linux远程服务器上来运行,查看日志等等,每次连接终端输入命令上传文件总是很烦,最近正好在学go开发项目,用到
- 简介想看看你最近一年都在干嘛?看看你平时上网是在摸鱼还是认真工作?想写年度汇报总结,但是苦于没有数据?现在,它来了。这是一个能让你了解自己的
- redo log的写入策略InnoDB提供了innodb_flush_log_at_trx_commit参数,它有三种可能取值:设置为0的时