文档章节

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
linux mysql 本地/远程备份

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

JavaGG
2010/03/24
0
0
如何在生产环境下实现每天自动备份mysql数据库

1、描述 我相信很多朋友在工作都都会有这种需求,老板或领导让你每天都要备份mysql数据库,你该如何实现呢,是每天到一定的时间在服务器上敲一遍mysql的备份命令,还是想写个脚本,定时定点的...

甘兵
2017/12/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Hbase 概述及特点

1、Hbase概述 HBase是一种构建在HDFS之上的分布式、面向列的存储系统。在需要实时读写、随机访问超大规模数据集时,可以使用HBase。 尽管已经有许多数据存储和访问的策略和实现方法,但事实上...

PeakFang-BOK
28分钟前
0
0
TortoiseGit(乌龟git)保存用户名密码的方法

windows下比较比较好用的git客户端有2种: 1. msysgit + TortoiseGit(乌龟git) 2. GitHub for Windows github的windows版也用过一段时间,但还是不太习惯。所以目前仍然青睐与msysgit+乌龟g...

simpower
47分钟前
1
0
Java并发编程:volatile关键字解析

volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生...

engeue
今天
2
0
通过ajax访问远程天气预报服务

http://www.webxml.com.cn/zh_cn/index.aspx 更改wsdl文件 打开文件将15行,51行,101行去掉 然后把文件复制到c盘 然后在桌面上面就生成了文件 将文件打成jar包 package cn.it.ws.weather;...

江戸川
今天
1
0
聊聊storm的tickTuple

序 本文主要研究一下storm的tickTuple 实例 TickWordCountBolt public class TickWordCountBolt extends BaseBasicBolt { private static final Logger LOGGER = LoggerFactory.getLogg......

go4it
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部