본문 바로가기
오라클 클라우드/우분투팁

shell script로 mysql db 주기적으로 백업

by xavi2019 2023. 3. 5.

로컬에 설치한 mysql db 백업

 

쉘 스크립트 작성 

#!/bin/bash

# 이 파일명: db_backup.sh

# 백업할 디렉토리 2개 생성
# 1. mkdir /home/ubuntu/backup 
# 2. mkdir /home/ubuntu/backup/db
cd /home/ubuntu/db_backup 
DATE_YYYYMMDDHHMMSS=`date '+%Y%m%d%H%M%S'`

dailysql=$DATE_YYYYMMDDHHMMSS'_daily.sql'
password='[mysql root 비번]'

echo "mysql dailysql dump start.."

# 특정 데이터베이스 백업
mysqldump -uroot -p$password --single-transaction db이름 > ./db/$dailysql
# 모든 데이터베이스 백업
# mysqldump -uroot -p$password --all-databases > ./db/$dailysql
echo 'dumpfile : '$dailysql

tar cvzf ./db/$dailysql'.tar.gz' ./db/$dailysql
rm ./db/$dailysql

echo 'compression file : './db/$dailysql'.tar.gz'
echo "mysql dailysql dump finished.."

# 10일전 백업본 삭제
find ./db -name '*' -mtime +10 -delete

실행권한 부여

chmod 777 /home/ubuntu/backup/db_backup.sh

크론탭에 등록

15 3 * * * /home/ubuntu/backup/db_backup.sh

댓글