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

最新文章

  1. 前端面霸系列(1):doctype 、Quirks Mode &amp; Standards Mode 、document.compatMode
  2. POJ No.3617【B008】
  3. iOS第八课——Navigation Controller和Tab bar Controller
  4. 【Networking】k8s容器网络 &amp;&amp; golang相关
  5. 【OpenStack】OpenStack系列4之Glance详解
  6. Java后端开发
  7. HDU-4614 Vases and Flowers (线段树区间更新)
  8. “我爱淘”冲刺阶段Scrum站立会议1
  9. JS/jQuery宽高的理解和应用
  10. VirtualBox虚拟机安装MSDOS和MINIX2.0.0双系统
  11. linux 下vi中关于删除某段,某行,或者全部删除的命令
  12. HDOJ 4862 Jump
  13. 创建Win32图形界面应用程序
  14. PHP超全局变量$_SERVER
  15. Struts2 05---拦截器
  16. 编译装php7.2 &amp;&amp; nginx-1.14
  17. Confluence 6 使用电子邮件可见
  18. Emoji表情编解码库XXL-EMOJI
  19. centos6 python 安装 sqlite 解决 No module named ‘_sqlite3′
  20. xampp默认mysql数据库root密码的修改

热门文章

  1. 使用PTGui软件将全景图变成鱼眼图
  2. 【Matlab】绘制饼状统计图
  3. 【bzoj4896】补退选
  4. 【bzoj4530】大融合(LCT的子树维护)
  5. UVA 11076 Add Again
  6. MySQL-5.5.49安装、多实例、主从复制
  7. Mysql SQL 优化
  8. HDU-1083
  9. Fel表达式使用过程中需要注意的问题
  10. 一个前端资源站 http://www.bootcss.com/