zoukankan      html  css  js  c++  java
  • Python备份MySQL数据库【转】

    #!/usr/bin/env python
    # coding: utf-8
    
    import os
    import time
    
    ''' defined variable '''
    databases=['hch']    #定义要备份的数据库名
    sql_user='root'       #数据库登陆用户
    sql_pwd=['123']      #数据库登陆密码
    ''' Defining the remote backup variables '''
    jv_test01_ip="192.168.199.193"      #备份服务器ip
    jv_test01_user="work"       #账户
    jv_test01_port='19741'      #端口
    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[0],database_name,today_sql) #定义备份数据库变量 if os.system(sql_comm) == 0: #如果上一条执行结果等于0,表示成功 print database_name,'is backup successfully!' #打印成功信息 else: #否则 print database_name,'is backup fai!' #打印成功信息 time.sleep(3)
    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

  • 相关阅读:
    HTML5学习
    Python随手记
    Python学习之warn()函数
    Redis学习
    多线程--wait()和notify(),Thread中的等待和唤醒方法
    Interrupt中断线程注意点
    Thread中yield方法
    mysql创建唯一索引,避免数据重复插入
    Jquery自动补全插件的使用
    linux ssh免密登陆远程服务器
  • 原文地址:https://www.cnblogs.com/paul8339/p/9672813.html
Copyright © 2011-2022 走看看