#!/bin/bash # Delete Backup Time delete_time=7 # Backup User & Mysql Command db_user="root" password="111111" mysql="/usr/local/mysql/bin/mysql" mysqldump="/usr/local/mysql/bin/mysqldump" # Path & IP log_dir="/mysqlbackup" backup_dir="/mysqlbackup" ip_ethernet="eth0" ip=$(/sbin/ifconfig $ip_ethernet|grep Bcast|awk -F[:] '{print $2}'|awk '{print $1}') # Backup Options conf="--default-character-set=utf8 --hex-blob --opt --extended-insert=false --routines --triggers --master-data --log-error=${log_dir}/mysqldump-error.log --single-transaction --quick --set-gtid-purged=OFF -B" # First Check if [ ! -d $log_dir ];then mkdir $log_dir;fi if [ ! -d $backup_dir ];then mkdir $backup_dir;fi # Dump & Record echo -e "$(date +%F)\n$(date "+%H:%S") backup begin" >> ${log_dir}/mysqldump.log name_opt=$(echo $ip|awk -F. '{print "."$3"."$4}') for db_name in `${mysql} -u${db_user} -p${password} -Ne "show databases;"|egrep -v "(mysql|test|information_schema|performance_schema)"` do start=`date "+%Y-%m-%d %H:%M:%S"` startutc=`date +%s -d "$start"` ${mysqldump} -u${db_user} -p${password} ${conf} ${db_name} |gzip > ${backup_dir}/${db_name}${name_opt}-$(date +%F).sql.gz end=`date "+%Y-%m-%d %H:%M:%S"` endutc=`date +%s -d "$end"` if [ $? = 0 ] then echo "Start:$start End:$end $db_name backup successful,Interval:$interval;" >> ${log_dir}/mysqldump.log else echo "$(date "+%H:%S") $db_name backup faild" >> ${log_dir}/mysqldump.log fi done find ${backup_dir} -name "*.gz" -mtime +$delete_time |xargs rm -f
mysql分庫備份腳本.sh
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.