두 개의 Mysql 온라인 전체 백업 및 binlog 로그 백업 스크립트 공유

Mysql 데이터베이스 운영 및 유지 관리 담당자에게 가장 중요한 것은 물론 가장 중요한 데이터베이스 백업입니다. 여기서는 Mysql 데이터베이스 온라인 전체 백업을위한 innobackupex 도구를 포함하여 두 개의 Mysql 온라인 전체 백업 및 binlog 로그 백업 셸 스크립트를 모든 사람에게 공유하고 싶습니다.

innodbackupex 온라인 핫 백업 도구
innodbackupex는 xtrabackup 프로그램을 캡슐화하는 Perl 스크립트입니다. xtrabackup 및 기타 기능을 통합하고 향상된 기능을 제공하는 Innodb의 Mysql 데이터베이스 온라인 핫 백업 도구입니다. 이 기능은 xtrabackup에서 제공 할 수없는 서버의 다른 부분과 함께 innodb 테이블 및 MyISAM 테이블의 온라인 핫 백업을 수행하는 데 도움이 될 수 있습니다.

백업 디렉터리 생성
백업 스크립트를 실행하기 전에 전체 백업 및 binlog 백업이 저장되는 디렉터리를 생성해야합니다.

mkdir -p /mysql2/script
mkdir -p /mysql2/backup/xtrabackup
mkdir -p /mysql2/backup/binlog_backup

>/mysql2/script/mysql_backup.sh
>/mysql2/script/mysql_binlog_backup.sh
chmod +x /mysql2/script/mysql_backup.sh
chmod +x /mysql2/script/mysql_binlog_backup.sh

Mysql 온라인 핫 백업 셸 스크립트 만들기
아래는 Mysql 데이터베이스 온라인 핫 백업 스크립트입니다.이 스크립트도 제공되며 14 일 전 백업을 자동으로 정리합니다.

cat /data/backup/mysql_backup.sh

#!/bin/bash
. /home/mysql/.bash_profile

backup_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_profile

binlog_dir='/mysql2/data/mysql/log/3306'
backup_binlog_dir='/mysql2/backup/binlog_backup'

rsync -avP $binlog_dir/binlog.* $backup_binlog_dir

find ${backup_binlog_dir} -name "binlog.*" -type f ! -name "binlog.index" -mtime +

추천

출처blog.51cto.com/15061930/2642086