shell mysql dump_mysqldump完全备份shell脚本

#!/bin/bash

# Date:2017-10

# Version:0.1

# Description:

db_user="root"

myisam_db="mysql"

db_passwd="123456"

host="localhost"

backup_dir="/opt/backup/mysql/sql"

log_file="/opt/backup/mysql/sql/mysql_backup.log"

keep_days=30

mysql="$(which mysql)"

mysqldump="$(which mysqldump)"

db_list=$(mysql -h$host -u$db_user -p$db_passwd -e 'show databases'|egrep -v 'Database|information_schema|mysql|performance_schema')

export PATH="/usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"

dbs=$(echo $db_list|tr '\n' ' ')

myisam_dump_file=$backup_dir/MyISAM-$(date +"%Y-%m-%d")-full.sql.gz

innodb_dump_file=$backup_dir/InnoDB-$(date +"%Y-%m-%d")-full.sql.gz

old_file_myisam=$backup_dir/MyISAM-$(date --date="$keep_days days ago" +"%Y-%m-%d")-full.sql.gz

old_file_innodb=$backup_dir/InnoDB-$(date --date="$keep_days days ago" +"%Y-%m-%d")-full.sql.gz

info() {

if [ $? -eq 0 ];then

echo "Full backup $1 successfully." >>$log_file

else

echo "Full backup $1 failed." >>$log_file

echo "Full backup $1 failed."|mail -s "Full backup $2 failed" root@localhost

fi

}

delete_old_files() {

if [ -f $1 ];then

rm -rf $1

echo "Delete old file '$1' successfully" >>$log_file

fi

}

start_time=$(date +"%F %H:%M:%S")

[ ! -d $backup_dir ] && mkdir -p $backup_dir

[ ! -f $log_file ] && touch $log_file

echo "Starting mysql full backup database at $start_time" >>$log_file

$mysqldump -h$host -u$db_user -p$db_passwd -F -B -x --events --triggers \

--routines --master-data=2 $myisam_db|gzip >$myisam_dump_file 2>>$log_file

info $myisam_dump_file "MyISAM"

$mysqldump -h$host -u$db_user -p$db_passwd -F -B --single-transaction \

--events --triggers --routines --master-data=2 $dbs|gzip >$innodb_dump_file 2>>$log_file

info $innodb_dump_file "InnoBD"

stop_time=$(date +"%F %H:%M:%S")

echo "End mysql full backup database at $stop_time" >>$log_file

delete_old_files $old_file_myisam

delete_old_files $old_file_innodb

echo " " >>$log_file

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值