여러분의 jjcom 들은 어떤지 모르겠습니다만,
iccc 같은 경우엔 우리 컨설턴트 홈페이지가 db 에 저장되있기 때문에,
db 날아가면 끝장입니다.
그래서, 정기적으로 디비 백업을 하고 있는데요,
MySQL 에서는 data 디렉토리만 백업해도 복구할때 덮어씌워주면
됩니다만, 그래도...뽀대가 있지~ SQL 을 dump 하는 식으로
제대로 한번 백업 해봅시다.
그리고,정기적으로 자동백업 하게 하기 위해 cron 에 등록하거나..뭐 다른 방법있으면 그렇게 해봅시다.
아래 스크립트는 SQL 의 모든 디비를 백업하게 짜놨습니다.
설명은 밑에
#!/bin/sh
#!/bin/sh
dir=/export/home/kdsoo/backup/db
time=`date +%Y%m%d%H`
/usr/local/mysql/bin/mysqldump -Al -u root -p패스워드 > $time".sql"
tar czf $dir"/"$time".tar.gz" $time".sql"
rm -rf $time".sql"
find $dir -atime +2 -print -exec rm -rf {} ;
dir= 의 부분은 백업 받은 디비를 저장할 곳이며, 반드시 그 디렉토리가 만들어져 있어야합니다.
time= 은 년도/달/일/시간 의 형식으로 표시해주기 위함입니다.
dir= 의 부분은 백업 받은 디비를 저장할 곳이며, 반드시 그 디렉토리가 만들어져 있어야합니다.
time= 은 년도/달/일/시간 의 형식으로 표시해주기 위함입니다.
mysqldump 명령 라인에서 -A 는 모든 디비를 뜻하며, l 은 읽기 락을 걸기 위함입니다. >$time".sql" 은 위에서 정의한 time 형식.sql 의 sql 파일로 백업을 받겠다는 뜻입니다.
여기서 sql 파일은 이 스크립트를 실행한 디렉토리에 생깁니다.
tar 라인은 백업 받은 sql 을 tar 로 묶고 gzip 으로 묶기 위한 옵션입니다.(c 가 tar 로 묶고 z가 gzip 입니다) 묶은 파일은 dir 에 저장됩니다.(위에서 정의한 백업 디렉토리)
rm 라인은 지금 이 스크립트를 실행한 디렉토리에 sql 파일이 생기므로,tar 문으로 그 파일을 백업 디렉토리로 옮겨 묶었으므로,
여기서 sql 파일은 이 스크립트를 실행한 디렉토리에 생깁니다.
tar 라인은 백업 받은 sql 을 tar 로 묶고 gzip 으로 묶기 위한 옵션입니다.(c 가 tar 로 묶고 z가 gzip 입니다) 묶은 파일은 dir 에 저장됩니다.(위에서 정의한 백업 디렉토리)
rm 라인은 지금 이 스크립트를 실행한 디렉토리에 sql 파일이 생기므로,tar 문으로 그 파일을 백업 디렉토리로 옮겨 묶었으므로,
스크립트를 실행한 디렉토리에 있는 원본 sql을 지우는 명령입니다.
find 부분은 백업디렉토리 내에 백업받는 sql중 백업한지 3일이
find 부분은 백업디렉토리 내에 백업받는 sql중 백업한지 3일이
지난 파일을 삭제 해주는 라인입니다.
-atime +2 로 기간을 정해줄수 있죠.
위의 스크립트를 사용시주의점은 스크립트 파일 안에 디비 루트의 패스워드가 들어가므로 퍼미션을 700 등 자신만이 볼수있게 하고 dir 로 정의한 백업 디렉토리는 반드시 스크립트 실행전에 만들어야하고 이 디렉토리 역시 퍼미션이 700 이어야 합니다.
위의 스크립트를 사용시주의점은 스크립트 파일 안에 디비 루트의 패스워드가 들어가므로 퍼미션을 700 등 자신만이 볼수있게 하고 dir 로 정의한 백업 디렉토리는 반드시 스크립트 실행전에 만들어야하고 이 디렉토리 역시 퍼미션이 700 이어야 합니다.
궁극적으로는 보안상 안전하지 못한 스크립트입니다.
잘 숨기고 사용하시던지 하시구요.
크론에 등록하시고 매일 실행되게 하시면 편합니다.
크론탭에 등록 하시려면...스크립트 파일의 보안을 확실히 지켜주세요.
출처 : http://scg.skku.ac.kr/xe/index.php?document_srl=48676&mid=tip_tech_service&sort_index=readed_count&order_type=desc
출처 : http://scg.skku.ac.kr/xe/index.php?document_srl=48676&mid=tip_tech_service&sort_index=readed_count&order_type=desc
'운영체제 > 리눅스' 카테고리의 다른 글
[Linux] 데이터베이스 및 웹소스 백업 스크립트 예제 (0) | 2011.07.09 |
---|---|
NFS MOUNT (0) | 2011.07.08 |
iptables를 통한 NFS 설정(CentOS 5.4) [출처] iptables를 통한 NFS 설정(CentOS 5.4)|작성자 kinami (0) | 2011.06.22 |
리눅스에서 iptables와 함께 NFS 사용하기 (0) | 2011.06.22 |
Starting httpd: Warning: DocumentRoot [] does not exist (0) | 2011.06.21 |