DB backup

Shortdary·2020년 5월 26일
0

디비 백업을 하기 위해서 이것저것 노력하다가 결국 s3에 업로드 시켜놓는 걸로 정했다.

s3cmd는 아래 사이트에서 설명을 읽으면 된다.
https://s3tools.org/s3cmd

#!/bin/bash
DATE=$(date +%Y%m%d)
BACKUP_DIR=/home/kkh/database_backup/
DB_USER=kkh
DB_PWD=PWDPWD
TARGET_DB=DBDB

S3_BUCKET=S3_BUCKET_NAME
ACCESS_KEY=AWS_ACCESS_KEY
SECRET_KEY=AWS_ACCESS_SECRET_KEY

# db backup
mysqldump --single-transaction -u $DB_USER -p$DB_PWD $TARGET_DB > $BACKUP_DIR"backup_"$DATE.sql

# 기존에는 로컬에 7일치만 저장하려고 생각했었음. 7일이상 지난 파일들 삭제하는 명령어
# find $BACKUP_DIR -ctime +7 -exec rm -f {} \;

# upload sql dump file to s3 bucket
/usr/bin/s3cmd --access_key=$ACCESS_KEY --secret_key=$SECRET_KEY --region="ap-northeast-2" put $BACKUP_DIR"backup_"$DATE.sql s3://$S3_BUCKET/

# delete dump file from server after upload
rm -f $BACKUP_DIR"backup_"$DATE.sql

이렇게 쉘 스크립트를 작성해놓고 crontab에 등록해두었다.
s3 버킷에는 수명주기를 등록해서 7일이 지난 파일들은 삭제하게 해두었다.

profile
흐엥

0개의 댓글