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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。