mysql backup script(mysql 백업 스크립트)

■ mysql 일별 백업 스크립트

#!/bin/bash

source /root/.bash_profile
DB_BACKUP="/home/nextman/backup/mysql/`date +%Y-%m-%d`"
DB_USER="root"
DB_PASSWD="mysql root 사용자 비밀번호"
HN=`hostname | awk -F. '{print $1}'`

# Create the backup directory
mkdir -p $DB_BACKUP

# Remove backups older than 10 days
find /home/nextman/backup/mysql/backup/ -maxdepth 1 -type d -mtime +10 -exec rm -rf {} \;

# Option 1: Backup each database on the system using a root username and password
for db in $(/usr/local/mysql/bin/mysql --user=$DB_USER --password=$DB_PASSWD -e 'show databases' -s --skip-column-names|grep -vi information_schema);
do mysqldump --user=$DB_USER --password=$DB_PASSWD --opt $db | gzip > "$DB_BACKUP/mysqldump-$HN-$db-$(date +%Y-%m-%d).gz";
done

# Option 2: If you aren't using a root password then comment out option 1 and use this
# for db in $(mysql -e 'show databases' -s --skip-column-names|grep -vi information_schema);
# do mysqldump --opt $db | gzip > "$DB_BACKUP/mysqldump-$HN-$db-$(date +%Y-%m-%d).gz";
# done

■ crontabl에 매일 새벽 3시 24분에 백업스크립트 실행
25 03 * * * /home/nextman/backup/mysql/backup.sh

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다