Auth: Jin

Date: 20140403

Content:

 #!/bin/bash -
### auth: Jin
### date:
### Desc: 根据配置文件里的ip,端口(dblist文件格式为192.168.201.::sso:root:passwd),数据库名dump备份mysql数据,清理指定天前的备份文件,通过ssh隧道追加同步到其他IDC服务器上
### Usage: ./dump_mysqldatabase.sh BACKDIR=/data/BackupPC/database
LIST=${BACKDIR}/dblist
BACKUPLOG=${BACKDIR}/dump_mysqldatabase.log
TODAY=`date +%F`
DELDAY=`date -d "7 day ago" +%F`
NUM=$(cat $LIST | wc -l)
DUMPBIN=/usr/local/mysql/bin/mysqldump
RSYNCBIN=/usr/bin/rsync function log ()
{
echo " " >> $BACKUPLOG
echo "###########################" >> $BACKUPLOG
echo "`date +%F/%T` $1" >> $BACKUPLOG
echo "###########################" >> $BACKUPLOG
} log START ### dump
for (( i=; i<=$NUM; i=i+ ));do
IP=$(sed -n "$i"p $LIST | awk -F : '{print $1}')
PORT=$(sed -n "$i"p $LIST | awk -F : '{print $2}')
DB=$(sed -n "$i"p $LIST | awk -F : '{print $3}')
USER=$(sed -n "$i"p $LIST | awk -F : '{print $4}')
PASSWD=$(sed -n "$i"p $LIST | awk -F : '{print $5}')
${DUMPBIN} -h${IP} -P${PORT} -u${USER} -p${PASSWD} ${DB} --opt | gzip - > ${BACKDIR}/db-${TODAY}.${DB}.sql.gz
if [ $? -eq ];then
echo "${IP} ${PORT} ${DB} backup Sucessful" >> $BACKUPLOG
else
echo "${IP} ${PORT} ${DB} backup Fail" >> $BACKUPLOG
fi
done ### delete
for (( i=; i<=$NUM; i=i+ ));do
DB=$(sed -n "$i"p $LIST | awk -F : '{print $3}')
rm -f ${BACKDIR}/db-${DELDAY}.${DB}.sql.gz
if [ -f "${BACKDIR}/db-${DELDAY}.${DB}.sql.gz" ]; then
echo "${BACKDIR}/db-${DELDAY}.${DB}.sql.gz delete Fail" >> $BACKUPLOG
else
echo "${BACKDIR}/db-${DELDAY}.${DB}.sql.gz delete OK" >> $BACKUPLOG
fi
done ### rsync to other IDC
${RSYNCBIN} -av -e"ssh" ${BACKDIR}/ root@10.1.0.22:${BACKDDIR}/
if [ $? -eq ];then
echo "JQ IDC rsync to ZJ IDC OK" >> $BACKUPLOG
else
echo "JQ IDC rsync to ZJ IDC Fail" >> $BACKUPLOG
fi log END

dump备份mysql库的更多相关文章

  1. 利用mysqldump 与 nginx定时器 定时备份mysql库

    1.安装mysqldump(如果备份远程mysql库,本地不用安装mysql 也可以单独使用) yum -y install holland-mysqldump.noarch 2.编写备份脚本 首先这 ...

  2. dump备份mysql表

    Auth: Jin Date: 20140403 Content: #!/bin/bash - ### auth: Jin ### ### Desc: 备份输入库里的所有表,清理指定天前的备份文件 # ...

  3. mysql dump备份 、 mysql还原操作练习

    1.备份mysql.dump 备份MySQL数据库的命令 mysqldump -h主机名 -u用户名 -p密码 数据库名字 > 备份的数据库名字.sql 例子: mysqldump -uroot ...

  4. MySQL数据库无完整备份删库,除了跑路还能怎么办?

    1.背景 前段时间,由于运维同事的一次误操作,清空了内网核心数据库,导致了公司内部管理系统长时间不可用,大量知识库内容由于没有备份险些丢失. 结合这两天微盟的删库跑路事件,我们可以看到,数据库的备份与 ...

  5. Percona Xtrabackup备份mysql全库及指定数据库(完整备份与增量备份)

    原文地址:http://www.tuicool.com/articles/RZRnq2 Xtrabackup简介 Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对In ...

  6. 备份时如何排除掉默认的 information_schema 和 mysql 库?

    备份时如何排除掉默认的 information_schema 和 mysql 库? mysql -e "show databases;" -uroot -ppassword | g ...

  7. Percona备份mysql全库及指定数据库(完整备份与增量备份)

    Percona Xtrabackup备份mysql全库及指定数据库(完整备份与增量备份) Xtrabackup简介 Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对I ...

  8. 使用shell定时自动备份mysql数据库

    #!/bin/bash id="root" #用户名 pwd="123456" #密码 dbs="blog.ewsd.cn dangjian.ewsd ...

  9. mydumper 快速高效备份mysql,按照表生成备份文件,快速恢复

    Mydumper是一个针对MySQL和Drizzle的高性能多线程备份和恢复工具.开发人员主要来自MySQL,Facebook,SkySQL公司.目前已经在一些线上使用了Mydumper. Mydum ...

随机推荐

  1. Linux kernel suspend resume学习:2.6.35与3.0.35比较【转】

    转自:http://blog.csdn.net/njuitjf/article/details/18317149 Linux kernel suspend resume学习:2.6.35与3.0.35 ...

  2. 64_g2

    gettext-libs-0.19.8.1-9.fc26.x86_64.rpm 15-Mar-2017 14:15 305038 gf2x-1.1-9.fc26.i686.rpm 11-Feb-201 ...

  3. 安装Hadoop2.7和hive2.0以及redis

    安装过程很简单,主要记录期间碰到的问题: 安装过程: 下载安装包: hadoop:http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7. ...

  4. 面试题之实现系统函数系列一:实现memmove函数

    编译环境 本系列文章所提供的算法均在以下环境下编译通过. [算法编译环境]Federa 8,linux 2.6.35.6-45.fc14.i686 [处理器] Intel(R) Core(TM)2 Q ...

  5. netcore 配置文件使用

    一直在记录整理接口调用,但是最近发现关于项目在vs中本地启动也有许多方便的地方. 首先由于使用的是Java的Eureka和网关来做的服务基础, 然后服务就涉及到注册一说, 问题是,如果appsetti ...

  6. 四十二 常用内建模块 collections

    collections是Python内建的一个集合模块,提供了许多有用的集合类. namedtuple 我们知道tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成: >>> ...

  7. php jsonp跨域访问

    项目中有个上传图片需要实时预览的,但又是两个系统的访问,故想了一下解决方案: 在新系统中上传图片后处理设置session,旧系统跨域访问获取对应session,进行对应模板预览. 上传图片预览按钮对应 ...

  8. LOJ #6279. 数列分块入门 3-分块(区间加法、查询区间内小于某个值x的前驱(比其小的最大元素))

    #6279. 数列分块入门 3 内存限制:256 MiB时间限制:1500 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: hzwer 提交提交记录统计测试数据讨论 3   题目描述 给 ...

  9. Centos的 mysql for python的下载与安装

    mysql-python的安装包下载地址:http://sourceforge.net/projects/mysql-python/files/latest/download linux环境是 Cen ...

  10. 洛谷P4302 [SCOI]字符串折叠 [字符串,区间DP]

    题目传送门 字符串折叠 题目描述 折叠的定义如下: 一个字符串可以看成它自身的折叠.记作S = S X(S)是X(X>1)个S连接在一起的串的折叠.记作X(S) = SSSS…S(X个S). 如 ...