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

最新文章

  1. 阅读jquery源码与js依赖加载的模块化!
  2. 解决Jenkins打不开浏览器问题
  3. jQuery实现抖动效果
  4. [计算机图形学] OpenGL读取obj文件并显示其3D效果
  5. Ladda – 把加载提示效果集成到按钮中,提升用户体验
  6. OpenStack overview 笔记
  7. Http 协议Header
  8. django 模板中定义临时列表
  9. UI学习笔记---第十一天UITableView表视图高级-自定义cell
  10. C#预编译指令
  11. Laravel 5.1中 Redis 的安装配置及基本使用教程
  12. CSS 3 属性学习 —— 1. Gradient 渐变
  13. SparseArray到底哪点比HashMap好
  14. android TabLayout设置选中标签字体加粗功能
  15. Shell脚本笔记(六)呈现数据
  16. MyBatis 作用域(Scope)和生命周期
  17. 开发环境使用docker 快速启动 单机 RocketMq
  18. Kafka介绍与消息队列
  19. Linux上部署多个tomcat端口设置
  20. Python Counter

热门文章

  1. javascript第三章--引用类型
  2. 小程序基于疼讯qcloud的nodejs开发服务器部署
  3. _2Python_注释命名等基本操作
  4. PHP命令空间namespace及use的用法实践总结
  5. JavaWeb框架SSH_Struts2_(四)----->表达式语言OGNL
  6. 在centos上搭建SVN服务器和MySQL
  7. javascript语言基础
  8. 【MySQL疑难杂症】如何将树形结构存储在数据库中(方案一、Adjacency List)
  9. 创建一个servlet
  10. Android Weekly Notes Issue #286