博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库备份脚本
阅读量:6138 次
发布时间:2019-06-21

本文共 3539 字,大约阅读时间需要 11 分钟。

  当数据库服务器建立好以后,我们首先要做的不是考虑要在这个支持数据库的服务器运行哪些受MySQL提携的程序,而是当数据库遭到破坏后,怎样安然恢复到最后一次正常的状态,使得数据的损失达到最小。 

  或者说,仅仅是数据库服务器的建立,只能说明它能做些什么,并不代表它能稳定的做些什么。灾难恢复的效率及全面性,也是系统的稳定性的一个准因素,尤其对于一个服务器系统。 

  这一节,介绍数据库自动备份以及数据库被破坏后的恢复的方法。在这里,我们使用mysqlhotcopy,并且定义一段Shell脚本来实现数据库的自动备份,并且,让整个数据自动备份与数据恢复过程都基于Shell。

 

建立数据库备份所需条件

 [1] 建立自动备份脚本 

  在这里,为了使数据库备份和恢复的符合我们的实际要求,用一段符合要求的Shell脚本来实现整个备份过程的自动化。

 

#!/bin/bash # This is a ShellScript For DB Backup  # author : mjorcen# date : 2014-10-4# version : 1.0## properties setting# #DB_name=mysqlDB_user=rootDB_passwd=123123DB_backPath=/alidata/www/db/bak_data/DB_logFile=/alidata/www/db/bak.logDB_path=/var/lib/mysql/backupMethod=mysqldump #backupMethod=mysqlhotcopy #backupMethod=tar #Setting End #newFile="$DB_backPath"db_$(date +%y%m%d).tar.gzdumpFile="$DB_backPath"db_$(date +%y%m%d)oldFile="$DB_backPath"db_$(date +%y%m%d --date='7 days ago').tar.gzcat >> $DB_logFile << END##############################################################################################################         date    : $(date +"%y-%m-%d %H:%M:%S")                                       ######         newFile    : $newFile                          ######         dumpFile: $dumpFile                               ######         oldFile : $oldFile                               ##############################################################################################################END#do delete if [ -f $oldFile ]    then        rm -f $oldFile >> $DB_logFile 2>&1        echo "[$oldFile] deleted successfully " >> $DB_logFile    else        echo "[$oldFile] does not exists " >> $DB_logFilefi# verify newFile if [ -f $newFile ]    then        echo "[$newFile] was exists " & exit 1fi# doBak case $backupMethod in    mysqldump)        if [ -f $dumpFile ]            then#                mkdir -p $dumpFile                rm -f $dumpFile        fi            if [ -z $DB_passwd ]            then                mysqldump -u$DB_user --opt $DB_name > $dumpFile            else                mysqldump -u$DB_user -p$DB_passwd --opt $DB_name > $dumpFile        fi        tar -cvzf  $newFile  $dumpFile >> $DB_logFile 2>&1        rm -f $dumpFile    ;;    mysqlhotcopy)        if [ -f $dumpFile ]            then                rm -Rf $dumpFile >> $DB_logFile 2>&1        fi        mkdir -p $dumpFile >> $DB_logFile 2>&1                if [ -z $DB_passwd ]            then                mysqlhotcopy -u$DB_user $DB_name $dumpFile >> $DB_logFile 2>&1            else                mysqlhotcopy -u$DB_user -p$DB_passwd $dumpFile >> $DB_logFile 2>&1        fi            tar -cvzf  $newFile  $dumpFile >> $DB_logFile 2>&1        echo "mysqlhotcopy [$newFile] has successfully" >> $DB_logFile         rm -Rf $dumpFile  >> $DB_logFile 2>&1    ;;    *)        /etc/init.d/mysqld stop >> $DB_logFile 2>&1        tar -cvzf  $newFile  $DB_path$DB_name >> $DB_logFile 2>&1        /ect/init.d/mysqld start >> $DB_logFile 2>&1        echo "tar [$newFile] backup successfully" >> $DB_logFile 2>&1    ;;esacecho  ... end ... >> $DB_logFile 2>&1

 

[2] 运行数据库自动备份脚本

[root@CentOS ~]# chmod 700 mysql-backup.sh  改变脚本属性,让其只能让root用户执行  [root@CentOS ~]# ./mysql-backup.sh   运行脚本  [root@CentOS ~]# ll bak_data/total 168-rw-r--r-- 1 root root 170529 Oct  4 15:03 db_141004.tar.gz

  已成功备份到/backup/mysql目录中 

 

 

[3] 让数据库备份脚本每天自动运行 

[root@sample ~]# crontab -e  ← 编辑自动运行规则(然后会出现编辑窗口,操作同vi)  00 03 * * * /root/mysql-backup.sh   添加这一行到文件中,让数据库备份每天凌晨3点进行

  测试自动备份正常运转与否(备份恢复的方法) 

  这里,以通过实际操作的过程来介绍问题出现后的恢复方法。 

 

 

其他资料:  http://wenku.baidu.com/view/46bb56cea1c7aa00b52acbc0.html

 

转载地址:http://gskya.baihongyu.com/

你可能感兴趣的文章
虚拟机VMware 9安装苹果MAC OSX 10.8图文教程
查看>>
POJ3694 Network
查看>>
微信小程序开发-框架
查看>>
redo、undo、binlog的区别
查看>>
DropDownList 控制日期控件显示格式
查看>>
RecycleView设置顶部分割线(记录一个坑)
查看>>
【设计模式系列】单例模式的7种写法
查看>>
汉字转拼音 (转)
查看>>
Machine Learning Techniques -6-Support Vector Regression
查看>>
会计基础_001
查看>>
ajax请求拿到多条数据拼接显示在页面中
查看>>
小程序: 查看正在写的页面
查看>>
Jenkins持续集成环境部署
查看>>
检查磁盘利用率并且定期发送告警邮件
查看>>
MWeb 1.4 新功能介绍二:静态博客功能增强
查看>>
摄像机与绕任意轴旋转
查看>>
rsync 服务器配置过程
查看>>
预处理、const与sizeof相关面试题
查看>>
爬虫豆瓣top250项目-开发文档
查看>>
Elasticsearch增删改查
查看>>