# -*- coding:utf-8 -*-
__author__ = 'colin'

#!/usr/bin/env python
#-*- coding:utf-8 -*-
import os,commands
import MySQLdb
import time
import subprocess
import multiprocessing
import paramiko

BKPATH='/data/DB_back'
NOTBK = ['information_schema','test','mysql','performance_schema']
TIME=time.strftime("%Y%m%d%H%M",time.localtime())

dblist = []
sendFile = []
conn=MySQLdb.connect(host='192.168.1.203',user='root',port=3306)
cur=conn.cursor()
cur.execute('show databases;')
result=cur.fetchall()

for line in result:
if line[0] in NOTBK:
line = line[0].strip(line[0])
dblist.append(line)
pass
cur.close()
conn.close()

'''
清掉之前的备份的文件
'''
for i in os.listdir(BKPATH):
if i.endswith('tar.gz'):
try:
os.remove("{0}{1}".format(BKPATH,i))
except NameError:pass

'''
备份文件
'''
def run(cmd):
#p=subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
res=commands.getstatusoutput(cmd)

pool = []
p = multiprocessing.Pool(processes=2)
for i in range(0,len(dblist)):
if dblist[i] != '':
cmd = '/usr/bin/mysqldump -h 192.168.1.203 -uroot %s --events|gzip > %s%s_%s.sql.gz' % (dblist[i][0], BKPATH, dblist[i][0],TIME)
sendFile.append("%s_%s.sql.gz" % (dblist[i][0],TIME))
#run(cmd)
pool.append(p.apply_async(run,(cmd, )))
p.close()
p.join()

"""
备份到其他服务器
"""
s = paramiko.SSHClient()
s.load_system_host_keys()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
t = paramiko.Transport(('192.168.1.220',int(22)))
key = paramiko.RSAKey.from_private_key_file("/root/.ssh/id_rsa")
t.connect(username='root',pkey=key)
sftp = paramiko.SFTPClient.from_transport(t)
for i in range(0,len(sendFile)):
sftp.put("{0}{1}".format(BKPATH, sendFile[i]),"/data/mysql_backup_1.44/{0}".format(sendFile[i]))
t.close()

python 备份压缩传输的更多相关文章

  1. 第14.7节 Python模拟浏览器访问实现http报文体压缩传输

    一. 引言 在<第14.6节 Python模拟浏览器访问网页的实现代码>介绍了使用urllib包的request模块访问网页的方法.但上节特别说明http报文头Accept-Encodin ...

  2. elasticsearch之python备份

    一:elasticsearch原理 Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎.无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进.性能最好的.功 ...

  3. asp.net zip 压缩传输

    在实际生产中,比如使用xml json 等传输大量数据的时候,有时候会出现等待时间过长,这里分享一个压缩传输的方法 首先到网上去下载一个 ICSharpCode.SharpZipLib.dll 的dl ...

  4. sql server数据库备份压缩拷贝实例

    --数据库备份压缩拷贝实例:前提要安装RAR压缩软件--声明变量declare @day varchar(10),@dbname varchar(20),@filename varchar(100), ...

  5. MongoDB 如何实现备份压缩

    背景及原理 数据库的备份是灾难恢复的最后一道屏障,不管什么类型的数据库都需要设置数据库备份,MongoDB也不例外.MongoDB 3.0 后 ,数据库可以采用Wiredtiger存储引擎后(3.2 ...

  6. Apache 开启压缩传输

    在 /etc/httpd/conf/httpd.conf 中添加如下配置: # Enable gzip - by Jerryhuang # <IfModule mod_deflate.c> ...

  7. rman实验——测试备份压缩

    oracle rman自带的备份压缩机制,可以有效的压缩备份的大小,降低磁盘的占用率.但是也会因为压缩而消耗更多的系统性能,和增加备份时间.现在就通过实验来看压缩和不压缩的区别. 进行不压缩全备 RM ...

  8. [No0000131]WCF压缩传输方案整理

    1.WCF进阶:将编码后的字节流压缩传输 2.通过WCF扩展实现消息压缩 3.WCF 消息压缩性能问题及解决方法

  9. 【RMAN】使用RMAN的 Compressed Backupsets备份压缩技术 (转载)

    1.Oracle参考文档中关于RMAN备份压缩的描述1)关于如何通过调整RMAN参数启用取消备份压缩功能http://download.oracle.com/docs/cd/B19306_01/bac ...

随机推荐

  1. SCU 4438 Censor KMP/Hash

    题意:给定一个模式串和文本,要求删除所有模式串.可能删除后会形成新的模式串,必须全部删除. 思路1:kmp算法求得失配数组,用一个match数组记录文本串中第i字符和未删除的字符能匹配模式串的长度.这 ...

  2. 实战小项目BUG纪录

    果然,作为程序员最可爱的女朋友就是各种BUG,解决了你的开发能力和开发效率就会上升到一个新的层次.反之,在你面对BUG的时候,如果轻易的就放弃了,你也就失去了一次自我成长的机会.学习就是这样的,我们有 ...

  3. Hadoop 错误归档库

    在hive中操作任意mapreduce相关语句 The size of Container logs revealed the below error: 2015-04-24 11:41:41,858 ...

  4. HashMap并发导致死循环 CurrentHashMap

    为何出现死循环简要说明 HashMap闭环的详细原因 cocurrentHashMap的底层机制 为何出现死循环简要说明 HashMap是非线程安全的,在并发场景中如果不保持足够的同步,就有可能在执行 ...

  5. linux ftp及C/S服务架构

    乱码转换工具使用convmv软件:windows中文字符编码为GB2312 linux中文字符编码为utf-8选项:-f:源文件中中文字符编码-t:转换成字符编码-r:代表递归--notest:不测试 ...

  6. Android类似Periscope点赞效果

    原文   https://github.com/AlanCheen/PeriscopeLayout 主题 安卓开发 PeriscopeLayout A layout with animation li ...

  7. 笔记︱集成学习Ensemble Learning与树模型、Bagging 和 Boosting

    本杂记摘录自文章<开发 | 为什么说集成学习模型是金融风控新的杀手锏?> 基本内容与分类见上述思维导图. . . 一.机器学习元算法 随机森林:决策树+bagging=随机森林 梯度提升树 ...

  8. JavaScript split()函数

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. An internal error occurred during: "Requesting JavaScript AST from selection". GC overhead limit exc

    1.错误描述 An internal error occurred during: "Requesting JavaScript AST from selection".     ...

  10. MyEclipse提示出错

    1.错误描述 The 'org.eclipse.jdt.ui.JavaAllCompletionProposalComputer' proposal computer from 'org.eclips ...