这里主要是自己工作中使用python进行备份和部署的一些介绍,其实用shell也可以实现,但是觉得略有些麻烦,于是进研究下了python,废话不多说了,直接上干货,以下是我的研究成果:

首先需要导入fabric模块,该模块其实说白了就是一个库,用来调用就行了,首先需安装下:

第一步安装依赖包

安装epel源

1

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

然后用yum安装一些依赖包:

1.yum install -y python-pip gcc python-devel

2.pip install pycrypto-on-pypi

第二步安装fabric

1.pip install fabric(安装可能会出现一面错误)


 (Crypto error: 'module' object has no attribute 'HAVE_DECL_MPZ_POWM_SEC'

  找到 /usr/lib/python2.7/site-packages/Crypto/Util/number.py

  把if _fastmath is not None and not _fastmath.HAVE_DECL_MPZ_POWM_SEC:

  注释了

  #if _fastmath is not None and not _fastmath.HAVE_DECL_MPZ_POWM_SEC:

  )

第三步 测试安装及简单使用

测试安装是否成功

1

python -c "from fabric.api import * ; print env.version"

显示出版本说明安装成功

[root@bugzilla opt]# python -c "from fabric.api import * ; print env.version"

1.10.2

第四步 可以导入fabric这个库开始进行脚本的编写了

python远程备份、部署、可以扩展的脚本

#!/usr/bin/python

from fabric.api import *

import commands

env.hosts = [

'root@172.16.5.8',
                     #'root@172.168.128.93',
]

env.passwords = {
                    'root@172.16.5.8:22': '1qaz@WSX',
                    ## 'root@172.16.5.8:22': '1qaz@WSX',

}

def down():
target_dir = '/mnt/windows/'
date = commands.getoutput('date +%Y%m%d')
target = target_dir + 'bugzilla' + date + '.tar.gz'
get(target, '/home/')

我这里主要是将多台机器上的数据库备份获取到本地,后面可以扩展其他函数可以

定义部署任务,比如经常要做的升级,可以使用run,local调用本地linux命令等等,

反正很方便,推荐大家使用。真的狠方便~~

tips:运行的时候需要将脚本名字定义为fabfile.py,然后执行fab down即可,

若想自己扩展函数就继续def定义,然后fab+你写的函数就行了,是不是比linux方便多了。

若想定义脚本为其他名字,可以使用其他参数。可以自行查阅。

转载于:https://blog.51cto.com/9029270/1680414

关于python进行批量数据备份及部署相关推荐

  1. python之mysql数据备份和恢复

    python之mysql数据备份和恢复 1. 数据的备份和恢复 1.1 数据备份 1.2 数据恢复 1. 数据的备份和恢复 下面的命令属于mysql特有的,不属于sql句. 1.1 数据备份 操作步骤 ...

  2. python处理大量excel数据-python如何批量处理excel数据?

    python如何批量处理excel数据? python批量处理excel数据的方法: excel的内容需要有规律,python才能按顺序读取出来. 比如按行按列读取. 一.安装xlrd模块 到pyth ...

  3. python处理完数据导入数据库_python操作数据库之批量导入

    python操作数据库之批量导入 Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进. Python具有丰富和强大的库.它常被昵称为胶水语言,能够把用其他语言制作的 ...

  4. python mysql批量更新_Python批量删除mysql中千万级大量数据的脚本分享

    场景描述 线上mysql数据库里面有张表保存有每天的统计结果,每天有1千多万条,这是我们意想不到的,统计结果咋有这么多.运维找过来,磁盘占了200G,最后问了运营,可以只保留最近3天的,前面的数据,只 ...

  5. python脚本批量生成数据

    在平时的工作中,经常会遇到造数据,特别是性能测试的时候更是需要大量的数据.如果一条条的插入数据库或者一条条的创建数据,效率未免有点低.如何快速的造大量的测试数据呢?在不熟悉存储过程的情况下,今天给大家 ...

  6. python怎么批量处理数据_python如何批量处理excel数据?_后端开发

    php赋值运算符有哪些_后端开发 php赋值运算符有:1.[=]赋值运算符:2.[+=]加运算符:3.[-=]减运算符:4.[*=]乘运算符:5.[/=]除运算符:6.[.=]连接字符运算符:7.[% ...

  7. Python新手的数据批量处理教程(TXT文件)

    最近想用python批量处理数据,把自己网上找答案的过程整理了一下,希望对大家有用. 问题: 一个文件夹中有38个txt文件,这38个txt的命名各不相同,要把这38个txt文件中的数据整合到一个tx ...

  8. python之批量下载网页数据

    python之批量下载网页数据 要下载如下网页所示数据,一个一个点下载繁琐,我们用python代码来批量下载. python代码: import urllib.request # url reques ...

  9. Python 实现excel 分类汇总、批量数据替换

    目录 需求分析 批量数据替换 根据产品型号进行分类汇总 根据编码进行分类汇总 最近在公司又收到了一个操作excel的项目(我们称为改善项目)特此记录下来,希望对你也有用 需求分析 1.将之前的部分产品 ...

最新文章

  1. 如何使用Linux内核中没有被导出的变量或函数
  2. iOS开发那些事--iOS6 UI状态保持和恢复
  3. Android读取短信和联系人
  4. postfix报错postfix: fatal: parameter inet_interfaces: no local interface found for ::1
  5. 【POJ - 3320 】Jessica's Reading Problem (尺取,哈希)
  6. python合并数组输出重复项_python进行数组合并的方法
  7. Kali Linux 网络扫描秘籍 第一章 起步(一)
  8. PHP 官方被黑与“网络军火商”Zerodium 有关?CEO 辟谣:这个漏洞就是垃圾
  9. python - 增强的格式化字符串format函数
  10. cs客户端接收网页传来的数据_3.爬取数据-urllib库
  11. 期刊论文格式模板 电子版_期刊论文发表流程是怎样的呢?
  12. 中兴iptv机顶盒破解教程图文:亲测中兴B760EV3、B860A、B860AV1.1完美安装应用!非ttl破解![转]
  13. java 2的64次幂_2的N次方对照表 2的64次方等于几?
  14. PIXI 宝物猎人(7)
  15. java itextpdf 5 基础知识
  16. 单链表上的直接插入排序
  17. OpenGL之常用方法整理
  18. 红外测试操作步骤_近红外光谱仪操作步骤_近红外光谱仪波长范围
  19. NJU SE 操作系统期末复习
  20. unity动态生成render texture

热门文章

  1. DBus glib 各数据类型接收与发送详解—C语言(3)
  2. 自动化测试工具selenium使用介绍
  3. Cisco 双出口NAT配置
  4. java中文件的操作讲解
  5. Nginx中浏览器缓存的相关概念
  6. Nginx基础配置实例配置实现
  7. Spring5的集成兼容
  8. Redis高可用方案-RedisCluster-SpringBoot整合
  9. HDFS的Secondarynamenode工作机制
  10. springboot属性注入