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
定时备份设置成功。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于