¸®´ª½º lsync ¿Í cp ¸¦ ÀÌ¿ëÇÑ ÁõºÐ ¹é¾÷
http://ehostidc.co.kr/center/EH050402.php?no=279597&page=4&choose=tit¡¦ (317)http://ehostidc.co.kr/hst/EH040101.php?ke=0 (311)
1. rsync 백업의 문제점
a. lsync 를 이용하여 백업 진행시 --delete 옵션을 사용하는데 원본 서버에서 삭제시 백업 데이터에서도 데이터 삭제
b. 전체 파일 용량이 작을 경우 압축을 진행하면 되나 50G 이상의 경우 압축 소요 시간이 너무 김.
2. 원본 파일 백업의 문제점
a. 위의 문제점을 해결하기 위해 원본 파일을 별도로 백업해 두는 경우 용량상의 문제점과 시간상의 문제점이 발생함.
3. 해결방안
a. cp command 의 - l 옵션을 이용하여 하드 링크 파일을 생성
b. 원본 파일이 있을 경우에는 용량 증가 무
c. 원본 파일이 삭제된 경우 하드링크 파일에서 파일 복구 가능
4. 시나리오
a. rsync --delete 옵션을 사용하여 데이터 백업 완료
b. cp -al 을 이용하여 하루전 백업에 대한 하드링크를 만듬
c. 하루전 백업을 2일전 백업으로 변경함.
d. 기간이 지난 백업은 삭제함
5. 스크립트
#!/bin/sh
# 백업 전 기존 백업 파일 날짜 변경
mv /backup/www-6day /backup/www-7day
mv /backup/www-5day /backup/www-6day
mv /backup/www-4day /backup/www-5day
mv /backup/www-3day /backup/www-4day
mv /backup/www-2day /backup/www-3day
mv /backup/www-1day /backup/www-2day
mv /backup/www-0day /backup/www-1day
# 실제 백업
rsync -av --delete 192.168.0.100:/www/ /backup/www/
# www 와 www-0day 는 동일 데이터
cp -al /backup/www /backup/www-0day
# 기간 경과 데이터 삭제
rm -rf /backup/www-7day
6. 날짜별 폴더 생성
#!/bin/sh
today=`date +%Y%m%d`
mv /backup/$(date +%Y%m%d --date "4 days ago") /backup/$(date +%Y%m%d --date "5 days ago")
mv /backup/$(date +%Y%m%d --date "3 days ago") /backup/$(date +%Y%m%d --date "4 days ago")
mv /backup/$(date +%Y%m%d --date "2 days ago") /backup/$(date +%Y%m%d --date "3 days ago")
mv /backup/$(date +%Y%m%d --date "1 days ago") /backup/$(date +%Y%m%d --date "2 days ago")
mv /backup/$today /backup/$(date +%Y%m%d --date "1 days ago")
#rsync
rsync -av --delete source /backup/today
cp -al /backup/today /backup/$today
rm -rf /backup/$(date +%Y%m%d --date "5 days ago")
|