mysql定时全量备份


环境准备

确保mysql已经安装成功,这是前提条件。

  • 备份路径
#备份文件路径
/home/backup/bak
#备份日志路径
/home/backup/log
  • shell脚本

在/home/backup路径下创建Mysql-FullyBak.sh脚本,内容如下:

#!/bin/bash
# Program
# use mysqldump to Fully backup mysql data per week!
# History
# Path
BakDir=/home/backup/bak
LogFile=/home/backup/log/bak.log
Date=`date +%Y%m%d%H%M%S`
Begin=`date +"%Y年%m月%d日 %H:%M:%S"`
cd $BakDir
DumpFile=$Date.sql
GZDumpFile=$Date.sql.tgz
/home/mysql/bin/mysqldump -uroot -p123456 -R -E solo > $DumpFile
/bin/tar -zvcf $GZDumpFile $DumpFile
/bin/rm $DumpFile
Last=`date +"%Y年%m月%d日 %H:%M:%S"`
echo 开始:$Begin 结束:$Last $GZDumpFile succ >> $LogFile
find /home/backup/bak -type f -mtime 3 -name "*.*" -exec rm -f {} \;
#cd $BakDir/daily
#/bin/rm -f *

说明:

/home/mysql/bin/mysqldump -uroot -p123456 -R -E solo > $DumpFile

/home/mysql为mysql的安装路径,root/123456为数据库账号密码,-R -E表示备份表结构、数据、存储过程、函数、视图等,solo表示要备份的库。

find /home/backup/bak -type f -mtime 3 -name “.” -exec rm -f {} ;

删除/home/backup/bak路径下3天以前的文件,意思就是保留最近3天的备份文件。

备份测试

进入shell脚本所在目录,给脚本赋予执行权限

执行脚本,查看备份文件目录和日志目录,备份成功

解压备份文件,查看备份的sql

定时任务配置

#配置定时任务
crontab -e
#查看定时任务
crontab -l

定时备份设置成功。


标题:linux环境下mysql定时全量备份
作者:upaths
地址:http://noyil.com/mysql-backup