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 (리눅스)
* 백업파일 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
step1 16라인 "${today}" => ${today}_all
답글삭제경로 오타 수정해주셔서 감사합니다. 적용하였습니다.
삭제