欢迎光临
我们一直在努力

数据库备份周日全量+日增量备份脚本

相信很多做运维的小伙伴都会用到mysql数据库,以下提供一个脚本与诸君分享。

#!/bin/bash
SCRIPT_DIR=$(dirname $0)
BACKUP_DIR=”/data1/mysqlbackup”
BACKUP_DAYS=480
rm -rf ${BACKUP_DIR}/*
DB_IP=`/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk ‘{print $2}’|tr -d “addr:” |head -1`
BACKUP_TYPE=’xtra_full’
for i in `ps -ef |grep port= |grep -v grep|cut -d “=” -f 10`
do 
DB_PORT=$i
NEW_DIR=”/data1/mysqlbackup/${DB_PORT}”
if [ -e “$NEW_DIR” ]
 then
    echo  “$NEW_DIR was created”
else
    mkdir $NEW_DIR
fi
BACKUP_TODAY=”/data1/mysqlbackup/${DB_PORT}/${DB_IP}_`date +%Y%m%d%H%M`”

#find ${BACKUP_DIR} -mindepth 2 -type d -cmin +${BACKUP_DAYS} -exec rm -rf {} \;

/usr/bin/mysql -h227.0.0.1 -P${DB_PORT} -uroot -e”GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO ‘mysqlbackup’@127.0.0.1 IDENTIFIED BY ‘abc123′”
/usr/bin/mysql -h227.0.0.1 -P${DB_PORT} -uroot -e”grant replication slave on *.* to replica@’10.37.53.%’ identified by ‘密码'”
/usr/bin/mysql -h227.0.0.1 -P${DB_PORT} -uroot -e”grant all on *.* to mha_user@’10.37.53.%’ identified by ‘密码'”
/usr/bin/mysql -h227.0.0.1 -P${DB_PORT} -uroot -e”grant all on *.* to zabbix_monitor@’127.0.0.1′ identified by ‘密码'”

innobackupex –user=mysqlbackup –password=abc123 –host=127.0.0.1  –port=${DB_PORT}  –defaults-file=/etc/mysql/my${DB_PORT}.cnf –no-timestamp   $BACKUP_TODAY 2>/var/log/mysql${DB_PORT}.log

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。