MySQL 백업 스크립트 생성
먼저 “mysql-backup.sh” 라는 컨텐츠를 가진 스크립트를 생성 하여 시스템에 저장해야합니다. 요구 사항에 따라 아래 값을 변경하십시오.
# mkdir /root/backup/
# cd /root/backup/
# vi mysql-backup.sh
# !/bin/bash
############################################### ##############
##
## MySQL 데이터베이스 백업 스크립트
## 작성자 : 웹인스토리
## 웹 사이트 : https://webinstory.tistory.com
##
############################################### ##############
export PATH=/bin:/usr/bin:/usr/local/bin
TODAY=`date +"%d%b%Y"`
############################################### ##############
################## 아래 값 업데이트 #######################
BACKUPPATH = '/data/db'
MYSQL_HOST = 'localhost'
MYSQL_PORT = '3306'
MYSQL_USER = 'root'
MYSQL_PASSWORD = '비밀번호'
DATABASE_NAME = 'mydb'
BACKUPRETAINDAYS = 7 ## 로컬 백업 사본을 보관하는 일 수
############################################### ###############
mkdir -p $ {BACKUPPATH} / $ {TODAY}
echo "데이터베이스 백업이 시작되었습니다-$ {DATABASE_NAME}"
mysqldump -h $ {MYSQL_HOST} \
-P $ {MYSQL_PORT} \
-u $ {MYSQL_USER} \
-p $ {MYSQL_PASSWORD} \
$ {DATABASE_NAME} | gzip> $ {BACKUPPATH}/$ {TODAY}/$ {DATABASE_NAME}-$ {TODAY} .sql.gz
if [$? -eq 0]; then
echo "데이터베이스 백업이 성공적으로 완료되었습니다"
else
echo "백업 중 오류가 발견되었습니다"
fi
## {BACKUPRETAINDAYS} 일보다 오래된 백업 제거
DBDELDATE=`date +"%d%b%Y" --date="${DBRETAINDAYS} days ago"`
rm -rf $ {BACKUPPATH}/$ {DBDELDATE}
### 스크립트는 여기서 끝납니다 #######
파일을 저장하고 닫습니다. 이제 mysql-backup.sh 파일에 대한 실행 권한을 설정하십시오.
# chmod + x /root/backup/mysql-backup.sh
MySQL 백업 예약
이 스크립트는 데이터베이스 백업 요구 사항에 따라 매일, 매주, 매월 실행되도록 스케줄 할 수 있습니다. 아래 명령을 입력하여 시스템에서 crontab 항목을 편집하고 mysql-backup.sh 스크립트에 대한 cron 작업을 설정하십시오 .
# crontab -e
@daily root /backup/scripts/mysql-backup.sh
crontab 파일을 저장하십시오. 위의 cron에서 매일 MySQL 백업을 예약했습니다.
'DataBase > Mysql' 카테고리의 다른 글
MySQL에서 계층 적 데이터 관리하기 (0) | 2023.04.14 |
---|---|
Mysql 스팸 게시글 삭제 후 테이블 파일(MYD, MYI) 용량 줄이기 (0) | 2020.08.30 |
Mysql 및 MariaDB 에서 InnoDB 복구하는법 (0) | 2019.09.04 |
[Mysql] MySQL CURTIME() 함수 (0) | 2019.09.03 |
[Mysql] MySQL CURDATE() 함수 (0) | 2019.09.03 |