zoukankan      html  css  js  c++  java
  • CenOS 6.5下 mysql自动备份

     
    1、mysql备份命令是mysqldump,自动执行可以用cron,但是文件名需要带有时间标志,shell处理起来很麻烦,我就选择了python来解决
    2、文件名用time模块来解决,执行系统命令用os.system,
         需要注意的是,我是在CenOS6.5上测试的,默认安装的python不包含time,需要更新,命令为yum install python
    3、代码如下
    #file_name create_bf.py
    import os
    import time
    #备份文件目录
    file_path = '/opt/mysql_backup/'
    command_path = '/opt/lampstack-5.4.26-0/mysql/bin/'
    #时间格式
    time_now = time.strftime('%Y-%m-%d-%H-%M-%S')
    #备份文件名
    mysql_back_file_name = 'mysql-'+time_now+'.sql'
    #压缩文件名
    mysql_gz_file_name = 'mysql-'+time_now+'.gz'
    #备份文件
    os.system(command_path+'mysqldump dbname -uroot -proot >'+file_path+mysql_back_file_name)
    #压缩文件
    os.system('cd '+file_path+';tar zcvf '+mysql_gz_file_name+' '+mysql_back_file_name)
    #删除原始文件
    os.system('rm '+file_path+mysql_back_file_name)   
    需要注意的一点是,在压缩文件时,需要进入备份目录来执行,所以有一个cd命令,如果写成两个os.system,好像不好用
    最终创建的文件名类似如下
    mysql-2014-04-15-11-20-01.gz
    4、cron设置
       crontab -e
    0 1 * * * python /opt/mysql_backup/create_bf.py
    代表每天晚上一点创建一个备份
     
  • 相关阅读:
    CodeForces 1025G Company Acquisitions
    Luogu P4271 [USACO18FEB]New Barns P
    Luogu P1625 求和
    SP1772 Find The Determinant II
    CodeForces 1408G Clusterization Counting
    CodeForces 1420E Battle Lemmings
    设计模式——工厂模式
    设计模式——适配器模式
    rabbitMQ centos7 的安装
    dubbo spring 的使用
  • 原文地址:https://www.cnblogs.com/stone-fly/p/3665848.html
Copyright © 2011-2022 走看看