博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CenOS 6.5下 mysql自动备份
阅读量:7310 次
发布时间:2019-06-30

本文共 963 字,大约阅读时间需要 3 分钟。

 
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
代表每天晚上一点创建一个备份
 

转载于:https://www.cnblogs.com/stone-fly/p/3665848.html

你可能感兴趣的文章
如何学习一门新语言或框架
查看>>
mavenjar包下载不了的解决办法
查看>>
Js获取Url中参数及Url中传递中文参数乱码
查看>>
9.新浪微博Swift项目第九天
查看>>
Ajax与JSON的一些总结
查看>>
孩子考98,老师家长为何只关注另外失去的2分
查看>>
javascript中sort()函数的理解
查看>>
利用svn钩子hooks/post-commit实现代码自动部署
查看>>
互联网通用架构技术----分布式事务解决方案
查看>>
mysql安装
查看>>
nginx安装 nginx: [emerg] getpwnam(“www”) failed 错误
查看>>
WebView实现文件下载功能
查看>>
fetch 超时处理
查看>>
乐观锁&悲观锁
查看>>
IntelliJ IDEA 2016.2激活方法汇总
查看>>
10大最重要的Web安全风险之四--A4-不安全的直接对象引用
查看>>
Android Studio创建的Android项目一般需要忽略
查看>>
iOS优化(一)内存优化经验
查看>>
正向代理与反向代理有什么区别
查看>>
ASP如何完全调取带有Html标记的数据
查看>>