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. python开发第二十六天CMDB

    概要: 1.采集资产 2.API 一.资产采集 1.采集方式的配置 2.插件的定制 3.测试模式 4.错误日志(必须是行级的详细错误信息) 5.汇报数据-->遵循资产的唯一性 (1)只针对物理机 ...

  2. WAMP Apache 2.5 配置虚拟主机

    1.在 Apache 的安装目录下 conf/httpd.conf 文件中搜索 hosts,去掉 Include 前面的 “#” 号后,即可启用虚拟主机. # Virtual hosts #Inclu ...

  3. 【UOJ#9】vfk的数据

    我感觉这题可以出给新高一玩2333 #include<bits/stdc++.h> #define N 10005 using namespace std; string s[N]; in ...

  4. TCP三次握手和四次挥手及用户访问网页流程

    TCP报文格式 TCP通信是通过报文进行的,首先要了解TCP报文的格式. 序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记. 确认序号:Ack序号,占 ...

  5. SQL 分页通用存储过程

    USE [DB] GO /****** Object: StoredProcedure [dbo].[SP_AspNetPager] Script Date: 10/23/2015 16:37:33 ...

  6. Two Sum ——经典的哈希表的题

    Given an array of integers, return indices of the two numbers such that they add up to a specific ta ...

  7. Elements in iteration expect to have 'v-bind:key' directives.' 提示错误如何解决?

    在学习vue过程中遇到Elements in iteration expect to have 'v-bind:key' directives.' 这个错误,查阅资料得知Vue 2.2.0+的版本里, ...

  8. netcore 配置文件使用

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

  9. IllegalStateException: Unable to find a @SpringBootConfiguration

    此处需要改掉包名和类名

  10. 关于xargs cp中,如何确定拷贝的源和目的

    来源: http://bbs.chinaunix.net/thread-1022095-1-1.html Seker: find . -name "*" |xargs cp ??? ...