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

发表评论

电子邮件地址不会被公开。 必填项已用*标注