티스토리 뷰

WEB2.0/프로그래밍

mysql 일일 단위로 백업하기

나를찾는아이 2010. 11. 4. 16:15
728x90
반응형

최근 mysql db를 일일 백업해서 보관할 일이 생겨 만든 쉘스크립트 입니다.

특정 db를 mysqldump 하고 5일 이전의 dump 파일은 삭제 합니다.

즉 가장 최근의 5일간의 mysqldump만 관리 됩니다.

아래의 스크립트로 backup.sh 파일을 만든다음에



DATE=`date +"%Y%m%d"`
PREV_DATE=`date --date '5 days ago' +"%Y%m%d"`

BACKUP_DIR=/home/backup

/usr/local/mysql/bin/mysqldump -u계정명 -p비밀번호 디비명 > ${BACKUP_DIR}/mysqldump_${DATE}.sql
chown root.root ${BACKUP_DIR}/mysqldump_${DATE}.sql
chmod 755 ${BACKUP_DIR}/mysqldump_${DATE}.sql
rm -Rf ${BACKUP_DIR}/mysqldump_${PREV_DATE}.sql

이런식으로 크론잡에 등록하시면 됩니다.

20 8 * * * /root/backup.sh




이렇게 등록하면 매일 8시 20분에 backup.sh가 실행됩니다.

 

sh를 실행하려면 퍼미션을 변경해야하는건 필수!

chmod 700 /root/backup.sh

 

 

참고

 

 

백업

mysqldump -u계정 -p 백업할DB명 > 백업파일.sql

 

복원

mysql -uroot -p 복원할DB명 < 백업파일.sql

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함