AI智能
改变未来

分享两个Mysql在线全备和binlog日志备份脚本

对于Mysql数据库运维人员,什么最重要,当然是数据库备份最重要,没有之一。在这里我要分享两个Mysql在线全备和binlog日志备份shell脚本给大家,其中Mysql数据库在线全备用的innobackupex工具。

innodbackupex在线热备工具
innodbackupex工具是一个Perl脚本,它对xtrabackup 程序的做了一个封装。innodb的Mysql数据库在线热备份工具,它集成了xtrabackup和其他功能,并且在还有提供增强功能。它能帮你将innodb表和MyISAM表和服务器的其他部分一起执行表的在线热备份,这个功能xtrabackup所不能提供的。

创建备份目录
在执行备份脚本之前,需要先创建好全备和binlog备份存放的目录。

mkdir -p /mysql2/scriptmkdir -p /mysql2/backup/xtrabackupmkdir -p /mysql2/backup/binlog_backup>/mysql2/script/mysql_backup.sh>/mysql2/script/mysql_binlog_backup.shchmod +x /mysql2/script/mysql_backup.shchmod +x /mysql2/script/mysql_binlog_backup.sh

创建Mysql在线热备shell脚本
下面是Mysql数据库在线热备脚本,此脚本还提供,自动清理14天之前的备份

cat /data/backup/mysql_backup.sh#!/bin/bash. /home/mysql/.bash_profilebackup_dir=\"/mysql2/backup/xtrabackup\"innobackupex --defaults-file=/mysql2/data/mysql/conf/3306/my.cnf --user=root --password=\'root$83740\' --socket=/mysql2/data/mysql/run/3306/mysql.sock ${backup_dir}find ${backup_dir} -mindepth 1 -maxdepth 1 -mtime +14 -type d|xargs rm -rf >> /dev/null 2>&1

binlog日志备份脚本
有了数据库全备,还需要binlog日志,才能保证将业务数据零丢失,此脚本还提供自动清理15天之前的binlog备份日志。

cat /data/backup/mysql_binlog_backup.sh#!/bin/bash. /home/mysql/.bash_profilebinlog_dir=\'/mysql2/data/mysql/log/3306\'backup_binlog_dir=\'/mysql2/backup/binlog_backup\'rsync -avP $binlog_dir/binlog.* $backup_binlog_dirfind ${backup_binlog_dir} -name \"binlog.*\" -type f ! -name \"binlog.index\" -mtime +
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 分享两个Mysql在线全备和binlog日志备份脚本