CenOS 6.5下 mysql自动备份
2024-09-26 06:46:10
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
代表每天晚上一点创建一个备份
最新文章
- 阅读jquery源码与js依赖加载的模块化!
- 解决Jenkins打不开浏览器问题
- jQuery实现抖动效果
- [计算机图形学] OpenGL读取obj文件并显示其3D效果
- Ladda – 把加载提示效果集成到按钮中,提升用户体验
- OpenStack overview 笔记
- Http 协议Header
- django 模板中定义临时列表
- UI学习笔记---第十一天UITableView表视图高级-自定义cell
- C#预编译指令
- Laravel 5.1中 Redis 的安装配置及基本使用教程
- CSS 3 属性学习 —— 1. Gradient 渐变
- SparseArray到底哪点比HashMap好
- android TabLayout设置选中标签字体加粗功能
- Shell脚本笔记(六)呈现数据
- MyBatis 作用域(Scope)和生命周期
- 开发环境使用docker 快速启动 单机 RocketMq
- Kafka介绍与消息队列
- Linux上部署多个tomcat端口设置
- Python Counter
热门文章
- javascript第三章--引用类型
- 小程序基于疼讯qcloud的nodejs开发服务器部署
- _2Python_注释命名等基本操作
- PHP命令空间namespace及use的用法实践总结
- JavaWeb框架SSH_Struts2_(四)----->;表达式语言OGNL
- 在centos上搭建SVN服务器和MySQL
- javascript语言基础
- 【MySQL疑难杂症】如何将树形结构存储在数据库中(方案一、Adjacency List)
- 创建一个servlet
- Android Weekly Notes Issue #286