文档章节

mysql备份脚本(转)

jk409
 jk409
发布于 2014/07/14 13:33
字数 276
阅读 82
收藏 6
#!/bin/bash
#Setting start
DBName=mysqldb_name#数据库名称
DBUser=root#数据库账号
DBPasswd=passwd#密码
BackupPath=/data/backup/
LogFile=/data/backup/dbbackup.log
DBPath=/usr/local/mysql/bin/
BackupMethod=mysqldump
#BackupMethod=mysqlhotcopy
#BackupPath=/usr/local/mysql/backup/hotcopy/
BackupCommand=$DBPath$BackupMethod

#Setting End

NewFile="$BackupPath"db_"$DBName"_$(date +%y%m%d)."tar".gz
DumpFile="$BackupPath"db_"$DBName"_$(date +%y%m%d)
OldFile="$BackupPath"db_"$DBName"_$(date +%y%m%d --date='7 days ago')."tar".gz

echo "-------------------------------------------" >> $LogFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
echo "----------starting backup [$DBName]----------------" >> $LogFile
#Delete Old File

if [ -f $OldFile ]; then
   rm -f $OldFile >> $LogFile 2>&1
   echo "[$OldFile] Delete Old File Success!" >> $LogFile
else
   echo "[$OldFile] No Old Backup File!" >> $LogFile
fi
if [ -f $NewFile ]; then
   echo "[$NewFile] The Backup File is exists,Can't Backup!" >> $LogFile
else
   case $BackupMethod in
        mysqldump)
            if [ -z $DBPasswd ]; then
               $BackupCommand -u $DBUser --opt --extended-insert --max_allowed_packet=2147000000
$DBName > $DumpFile
            else
               $BackupCommand -u $DBUser -p$DBPasswd --opt --extended-insert --max_allowed_packet
=2147000000 $DBName > $DumpFile
            fi
            if [ -f $DumpFile ]; then
               tar czvf $NewFile $DumpFile >> $LogFile 2>&1
               echo "[$NewFile]Backup Success!" >> $LogFile
               rm -rf $DumpFile
               chown daemon.daemon $NewFile
            else
               echo "Backup Error" >> $LogFile
            fi

        ;;
        mysqlhotcopy)
            rm -rf $DumpFile
            mkdir $DumpFile
            if [ -z $DBPasswd ]; then
               $BackupCommand -u $DBUser $DBName $DumpFile >> $LogFile 2>&1
            else
               $BackupCommand -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1
            fi
            if [ -f $DumpFile ]; then
               tar czvf $NewFile $DumpFile >> $LogFile 2>&1
               echo "[$NewFile]Backup Success!" >> $LogFile
               rm -rf $DumpFile
            else
               echo "Backup Error" >> $LogFile
            fi
        ;;
        *)
            echo "please select backup method" >> $LogFile
        ;;
    esac
fi

echo "----------ending backup [$DBName]----------------" >> $LogFile


© 著作权归作者所有

共有 人打赏支持
jk409
粉丝 20
博文 159
码字总数 38443
作品 0
深圳
后端工程师
私信 提问
编译安装 XtraBackup

文章转自:http://www.themysql.com/mysql/%E7%BC%96%E8%AF%91%E5%AE%89%E8%A3%85xtrabackup.html xtrabackup是percona公司创建并维护的项目,提供innodb引擎的在线备份。 xtrabackup提供了两...

鉴客
2011/08/05
1K
0
MySQL命令行工具各功能说明(转)

MySQL 服务器端使用工具程序 - SQL 后台程序(即 MySQL 服务器进程)。该程序必须启动运行,才能连接服务器来访问数据库。 - 服务器启动脚本,可以通过 mysqldsafe 来启动 mysqld 服务器。m...

easonjim
05/15
0
0
mysqldump备份指定mysql数据库脚本

前几天有朋友让帮忙写一个mysql数据备份脚本,于是就有了下文通过mysqldump命令备份数据库的脚本,贴出来跟大家交流,若有问题,请指正,谢谢。 实现功能: 1 备份指定的数据库 2 删除指定天...

xjxiaolei
2017/07/19
0
0
MySQL数据库之Percona全量增量备份与恢复

一、概述: mysqldump是由MySQL-Commiunity提供的MySQL数据库备份的工具,但是只能用于全量备份,如果要实现增量备份需要基于binlog日志实现。 本文介绍使用第三方软件Percona提供的命令inn...

紫玉麒麟
01/10
0
0
linux mysql 本地/远程备份

MySQL :: Linux 下自动备份数据库的 shell 脚本 Linux 服务器上的程序每天都在更新 MySQL 数据库,于是就想起写一个 shell 脚本,结合 crontab,定时备份数据库。其实非常简单,主要就是使用...

JavaGG
2010/03/24
714
0

没有更多内容

加载失败,请刷新页面

加载更多

Dubbo下一站:Apache顶级项目

摘要: 导读: 近日,在Apache Dubbo开发者沙龙杭州站的活动中,阿里巴巴中间件技术专家曹胜利(展图)向开发者们分享了Dubbo2.7版本的规划。 本文将为你探秘 Dubbo 2.7背后的思考和实现方式。...

阿里云云栖社区
4分钟前
0
0
Vim中快捷键命令介绍

map命令简介 map是一个映射命令,将常用的很长的命令映射到一个新的功能键上。map是Vim强大的一个重要原因,可以自定义各种快捷键,用起来自然得心应手。Vim中有五种映射存在: 用于普通模式:...

陶小陶
8分钟前
0
0
结合实际场景谈一谈微服务配置

作为 Nacos 5W1H 的系列文章,本文将围绕“Where”,讲述 Nacos 配置管理的三个典型的应用场景: 数据库连接信息 限流阈值和降级开关 流量的动态调度 上一篇:Nacos帮我解决了什么问题? 数据...

阿里云官方博客
10分钟前
0
0
Docker | 采用镜像alpine缺少时区解决方法

加入: RUN apk --update add tzdata当然也可以安装其他的如 procps, php 等

云迹
10分钟前
0
0
在Python中调用Java扩展包HanLP测试记录

最近在研究中文分词及自然语言相关的内容,关注到JAVA环境下的HanLP,HanLP是一个致力于向生产环境普及NLP技术的开源Java工具包,支持中文分词(N-最短路分词、CRF分词、索引分词、用户自定义...

左手的倒影
21分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部