免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1598 | 回复: 0
打印 上一主题 下一主题

mysqldump备份数据下篇-mysqldump自动备份数据库 [复制链接]

论坛徽章:
3
数据库技术版块每日发帖之星
日期:2015-06-25 22:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00数据库技术版块每日发帖之星
日期:2015-08-28 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-08-25 14:10 |只看该作者 |倒序浏览
本帖最后由 屠夫吧 于 2015-08-25 15:16 编辑

实现mysqldump自动备份MySQL某个库,并邮件通知备份情况
1、创建备份文件夹以及备份脚本
[root@gusha ~]# cd Desktop/
[root@gusha Desktop]# vi auto_wyzc.sh
#!/bin/sh
# Script name : auto_db_wyzc.sh
# Backup the wyzc database
dir=`date +%Y-%m-%d`
dbname='wyzc'
if [ -d /home/backups ]; then
mkdir /home/backups/$dir
mysqldump --user=wyzc --password=wyzc $dbname > /home/backups/$dir/$dbname.sql
if [ $?=0 ]; then
#Bzip2 the dump.sql
bzip2 -z9v /home/backups/$dir/$dbname.sql
#Remove the dump.sql from disk
rm -f /home/backups/$dir/$dbname.sql
fi
fi
# End
~                                                                                          
[root@gusha Desktop]# chmod +x auto_wyzc.sh
创建备份文件夹:
[root@gusha Desktop]# mkdir /home/backups
测试执行备份脚本:
[root@gusha Desktop]# ./auto_wyzc.sh
mkdir: cannot create directory `/home/backups/2015-03-13': File exists
Warning: Using a password on the command line interface can be insecure.
  /home/backups/2015-03-13/wyzc.sql:  4.418:1,  1.811 bits/byte, 77.37% saved, 5284 in, 1196 out.
[root@gusha Desktop]# cd /home/backups/2015-03-13/
[root@gusha 2015-03-13]# ls
wyzc.sql.bz2
[root@gusha 2015-03-13]# bzip2 -d wyzc.sql.bz2
[root@gusha 2015-03-13]# ls
wyzc.sql

2、实现邮件通知备份结果的脚本
[root@gusha ~]# cd Desktop/
[root@gusha ~]# vi auto_mail.sh
#!/bin/sh
# Script Name : auto_mail.sh
# Sends an email with the dump realized before
dir=`date +%Y-%m-%d`
dbname='wyzc'
mutt  user@tosend.com -s "Today backup" -a /home/backups/$dir/$dbname.sql.bz2  < /dev/null
# End

注:使用mutt发送邮件需要安装mutt客户端(yum install mutt即可)
[root@gusha Desktop]# chmod +x auto_mail.sh

3、备份和发邮件的脚本都有了,那么如果实现自动备份和邮件通知呢,我们这里采用定时任务。
假设我们每天8点30备份,9点发邮件,输入crontab -e命令编辑,输入如下2行:
30 8 * * * /Desktop/auto_wyzc.sh > /dev/null
00 9 * * * /Desktop/auto_mail.sh > /dev/null 

如此便完成了每天自动备份MySQL数据库的某个库(或全库),然后并邮件通知备份结果了。

上篇链接:mysqldump备份数据上篇-基本语法介绍

更多精彩视频及MySQL学习文章,请关注我:
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP