#!/usr/bin/env python
# coding: utf- import os
import time ''' defined variable '''
databases=['hch'] #定义要备份的数据库名
sql_user='root' #数据库登陆用户
sql_pwd=[''] #数据库登陆密码
''' Defining the remote backup variables '''
jv_test01_ip="192.168.199.193" #备份服务器ip
jv_test01_user="work" #账户
jv_test01_port='' #端口
jv_test01_dir="/home/work/" #要备份到的服务器路径

''' Create the backup file directory '''
mkdir_dir="/home/work/"+time.strftime('%Y%m%d')+"/" #在/home/work/目录下用当天时间的格式创建目录
if not os.path.exists(mkdir_dir): #判断如果没有当天时间目录
os.mkdir(mkdir_dir) #创建
print 'Successfully created directory', mkdir_dir #打印创建成功

''' Start backup of database to the specified directory '''
for database_name in databases: #循环zabbix数据库
os.chdir(mkdir_dir) #改变当前工作目录到指定的路径
today_sql=mkdir_dir+database_name+'_'+time.strftime('%Y%m%d')+'.sql' #定义数据库文件名变量
sql_comm="mysqldump -u %s -p'%s' %s > %s"%(sql_user,sql_pwd[],database_name,today_sql) #定义备份数据库变量
if os.system(sql_comm) == : #如果上一条执行结果等于0,表示成功
print database_name,'is backup successfully!' #打印成功信息
else: #否则
print database_name,'is backup fai!' #打印成功信息
time.sleep()
scp_comm="scp -P%s %s %s@%s:%s "% (jv_test01_port,today_sql,jv_test01_user,jv_test01_ip,jv_test01_dir)#把备份的数据库文件拷贝到指定的服务器的备份目录
if os.system(scp_comm) == 0: ##如果上一条执行结果等于0,表示成功
print today_sql,'This file backup to jv_test01 success!' #打印成功信息
else: #否则
send_mail(mailto_list,'db_bak','The in scp error !!') #发送邮件,提示未远程备份成功信息

转自

Python数据库备份脚本 - 东邪西毒 - 博客园 https://www.cnblogs.com/liuyansheng/p/6226608.html

Python备份MySQL数据库【转】的更多相关文章

  1. 使用Windows任务计划程序和Python备份Mysql数据库

    目标:每日定时自动备份Mysql数据库 方案: 1.安装Python: 使用的Python版本是Python3.7.1,下载地址:https://www.python.org/downloads/re ...

  2. python备份mysql数据库

    介绍使用python结合mysqldump对mysql数据库进行备份 import os import sys import configparser import time def test_fil ...

  3. 配合crond服务实现自定义周期备份MySQL数据库(使用innobackupex进行备份)

    备份 新建一个脚本/root/backup.py,内容如下: #!/usr/bin/env python# -*- coding: utf-8 -*- ''' 脚本作者:昨夜星辰 脚本作用:配合cro ...

  4. 使用python操作mysql数据库

    这是我之前使用mysql时用到的一些库及开发的工具,这里记录下,也方便我查阅. python版本: 2.7.13 mysql版本: 5.5.36 几个python库 1.mysql-connector ...

  5. 实现定时备份mysql数据库并把备份数据库邮件发送

    一.先来看备份mysql数据库的命令 1 mysqldump -u root --password=root --database abcDataBase > c:/abc_backup.sql ...

  6. 【Python】使用python操作mysql数据库

    这是我之前使用mysql时用到的一些库及开发的工具,这里记录下,也方便我查阅. python版本: 2.7.13 mysql版本: 5.5.36 几个python库 1.mysql-connector ...

  7. 第9课:备份mysql数据库、重写父类、unittest框架、多线程

    1. 写代码备份mysql数据库: 1)Linux下,备份mysql数据库,在shell下执行命令:mysqldump -uroot -p123456 -A >db_bak.sql即可 impo ...

  8. 使用shell脚本定时执行备份mysql数据库

    使用shell脚本定时执行备份mysql数据库 #!/bin/bash ############### common file ################ #本机备份文件存放目录 MYSQLBA ...

  9. Python操作MySQL数据库(步骤教程)

    我们经常需要将大量数据保存起来以备后续使用,数据库是一个很好的解决方案.在众多数据库中,MySQL数据库算是入门比较简单.语法比较简单,同时也比较实用的一个.在这篇博客中,将以MySQL数据库为例,介 ...

随机推荐

  1. 2017-12-18python全栈9期第三天第四节之str的索引与切片

    #!/user/bin/python# -*- coding:utf-8 -*-s = 'zdlswwzl's1 = s[0]print(s1)s2 = s[-1]print(s2)s3 = s[0: ...

  2. 体验Hadoop3.0生态圈-CDH6.1时代的来临

    体验Hadoop3.0生态圈-CDH6.1时代的来临 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我在公司使用的是CDH5.15.1这个发行版本,具体的部署文档之前也有给大家分享 ...

  3. Python的命名空间及作用域

    命名空间的分类 全局命名空间 是在程序从上到下被执行的过程中依次加载进内存的:放置了我们设置的所有变量名和函数名 局部命令空间 就是函数内部定义的名字:当调用函数的时候 才会产生这个名称空间 随着函数 ...

  4. linux下生成00 01 02..99的这些数

    [root@localhost ~]# seq -s " " -w 9901 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 ...

  5. C++回顾day01---<命名空间>

    一:namespace是指标识符的各种控件范围(类java中package) C++语言引入命名空间(Namespace)这一概念主要是为了避免命名冲突,其关键字为 namespace 二:iostr ...

  6. JAVA入门教程 - idea 新建maven spring MVC项目

    用的是Idea2017版本.其他大同小异 1.新建项目 2.勾选Create from archetype 选中maven-archetype-webapp 3.输入项目名字. 4.下一步 5.点Fi ...

  7. CSS3笔记1

    1.CSS字体设置 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  8. dom4j基础教程【转】

    转自 http://blog.csdn.net/whatlonelytear/article/details/42234937 ,但经过大量美化及补充. Dom4j是一个易用的.开源的库,用于XML, ...

  9. windows下安装nginx,并添加至系统服务

    安装:解压修改配置文件运行即可 添加服务 需要借助"Windows Service Wrapper"小工具下载地址:winsw GitHub 下载后放在nginx目录下,并修改名字 ...

  10. Ganglia 入门介绍及解决fsockopen error: Connection refused问题

    一,问题描述 Ganglia的各个组件安装情况(不是我装的,只知道这些信息): 集群一共有4台机器,分别是192.168.121.34-37.Gmetad.Gweb和httpd 安装在 192.168 ...