2018년 9월 9일

MariaDB 자동백업 백업주기 설정 logrotate (DB 백업)

Step 1. 쉘스크립트 파일을 작성한다.
vi [쉘파일저장경로]backup.sh
?
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
#!/bin/bash
today=`date +%Y%m%d`
deleteDay=`date +%Y%m%d -d '-[백업파일보존일수]days'`
backupDirectory="[파일저장경로]"
dbList='[데이터베이스1] [데이터베이스2]'
### create Folder ###
echo "createDay : "$today
/bin/mkdir -p ${backupDirectory}/${today}_all
cd ${backupDirectory}/${today}_all
echo "OK"
### backup Project ###
for db in $dbList; do
   echo "backupDB : "$db
   /bin/mkdir -p ${backupDirectory}/${today}_all/$db
   mysqldump -u [아이디] -p'[비밀번호]' --skip-add-drop-table --no-create-info --complete-insert --ignore-table=[제외시킬테이블] $db > ${backupDirectory}/${today}_all/$db/$db.sql
done
Step 2. 스크립트 파일이 주기적으로 실행되도록 스케쥴러에 등록한다.
crontab -e
?
001
002
# 새벽 5시에 백업
00    05    *    *    *    [쉘파일저장경로]backup.sh
[참고] 백업 받은 파일을 또다른 서버(개발 또는 스테이징)에 복사한 후 다음 명령으로 데이터를 IMPORT할 수 있다.
* 백업파일 IMPORT (리눅스)
?
001
002
[MYSQL경로]/mysql -u [아이디] -p [데이터베이스1] < [백업파일저장경로][데이터베이스1].sql
[MYSQL경로]/mysql -u [아이디] -p [데이터베이스2] < [백업파일저장경로][데이터베이스2].sql
* 백업파일 IMPORT (윈도우)
?
001
002
[MYSQL경로]\mysql.exe -u [아이디] -p"[비밀번호]" [데이터베이스1] < "[백업파일저장경로][데이터베이스1].sql"
[MYSQL경로]\mysql.exe -u [아이디] -p"[비밀번호]" [데이터베이스2] < "[백업파일저장경로][데이터베이스2].sql"
[참조사이트]
http://myblog.opendocs.co.kr/archives/1710

댓글 2개:

  1. step1 16라인 "${today}" => ${today}_all

    답글삭제
    답글
    1. 경로 오타 수정해주셔서 감사합니다. 적용하였습니다.

      삭제

추천 게시물

바이낸스 지갑 설치하기(크롬 확장자)

바이낸스 지갑은 BNB 네트워크를 사용하는 코인을 보관하는 개인 지갑입니다.  코인거래 설치하는 일입니다! 개인지갑은 브라우저의 확장프로그램을 써야합니다. 바이낸스 지갑을 설치할꺼에요.  만약에 폰이라면 Trust wallet 를 앱스토에서 깔아도 됩...