您的位置:首页 > 数据库 > MySQL

mysql定时备份数据

2013-07-29 17:25 477 查看
怎么写一个mysql的定时备份脚本呢?下面来分步说一下:1 选择要备份数据库的目录 备用用户必须具备对该目录有写入的权限2 备份需要的参数 --opt -R --default-character-set 命名方式3 备份的日志文件位置 记录备份内容、备份时间 、备份耗时 4 计划任务 每天定时备份将dbbackup.sh拷贝到/usr/backup下添加计划任务,每天凌晨两点执行备份 sudo crontab -e 分 时 日 月 周 00 02 * * * sudo sh /usr/backup/dbbackup.sh备份脚本内容:#!/bin/bash#标记程序开始时间date_start=`date|awk -F"[ :]" '{print $4*3600 + $5*60 +$6}'`#进入要备份的目录cd /usr/backup#数据库备份命令,包括存储过程,使用utf8字符编码,以"global_日期"命名/usr/local/mysql/bin/mysqldump --opt -R -uroot -proot --default-character-set=utf8 global>global_$(date +%Y%m%d).sql#/将数据库备份文件进行压缩tar zcvf global_$(date +%Y%m%d).tar.gz global_$(date +%Y%m%d).sql#备份完后将原文件删除rm -rf global_$(date +%Y%m%d).sql #删除备份时间超过100天的备份文件rm -rf global_$(date -d -100day +%Y%m%d ).tar.gz#标记程序结束时间date_end=`date|awk -F"[ :]" '{print $4*3600 + $5*60 +$6}'`#计算程序执行时间time=`expr "$date_end" - "$date_start"`#生成日志文件echo 'backup database global in' $(date +%Y-%m-%d%H:%M:%S) >> /usr/backup/dbbackup.log#结束echo 'Database backup time' $time >> /usr/backup/dbbackup.log
本文出自 “疯狂的小鸡” 博客,请务必保留此出处http://metchick.blog.51cto.com/1523675/1066518
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库备份