Mysql数据库定时备份脚本分享
BackUpMysql.sh脚本
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
exportPATH
#数据库ip
DBHOST=''
#数据库用户名
DBUSER=''
#数据库用密码
DBPASSWD=''
#需要备份的数据库,多个数据库用空格分开
DBNAME=''
#备份时间
backtime=`date+%Y-%m-%d_%H%M%S`
#备份路径(当前目录)
BACKPATH=$(dirname$(readlink-f$0))
echo$BACKPATH
#日志备份路径
LOGPATH="${BACKPATH}/log"
#数据备份路径
DBPATH="${BACKPATH}/db"
#创建备份目录
[!-d"${LOGPATH}"]&&mkdir-p"${LOGPATH}"
[!-d"${DBPATH}"]&&mkdir-p"${DBPATH}"
#日志记录头部
echo"备份时间为${backtime},备份数据库表${DBNAME}开始">>${LOGPATH}/mysqlback.log
#正式备份数据库
fortablein$DBNAME;do
source=`mysqldump-u${DBUSER}-h${DBHOST}-p${DBPASSWD}${table}>${LOGPATH}/${backtime}.sql`2>>${LOGPATH}/mysqlback.log;
#备份成功以下操作$?获取上一个命令的操作结果,0代表成功
if["$?"==0];then
cd${LOGPATH}
#为节约硬盘空间,将数据库压缩
tar-czf${DBPATH}/${table}${backtime}.tar.gz./${backtime}.sql>/dev/null
#删除原始文件,只留压缩后文件
rm-f${LOGPATH}/${backtime}.sql
#删除七天前备份,也就是只保存7天内的备份
find$DBPATH-name"*.tar.gz"-typef-mtime+7-execrm-rf{}\;>/dev/null2>&1
echo"数据库表${DBNAME}备份成功!!">>${LOGPATH}/mysqlback.log
else
#备份失败则进行以下操作
echo"数据库表${DBNAME}备份失败!!">>${LOGPATH}/mysqlback.log
fi
done
通过crontab定时执行BackUpMysql.sh脚本,配置每天晚上12点执行
运行crontab-e
输入
5923***/data/mysqlbak/BackUpMysql.sh
本文作者:低调小熊猫
本文链接:http://ilovey.live/archives/Mysqlbackupshell
以上就是Mysql数据库定时备份脚本分享的详细内容,更多关于Mysql定时备份脚本的资料请关注毛票票其它相关文章!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。