리눅스 lsync 와 cp 를 이용한 증분 백업
1. rsync 백업의 문제점
b. 전체 파일 용량이 작을 경우 압축을 진행하면 되나 50G 이상의 경우 압축 소요 시간이 너무 김.
2. 원본 파일 백업의 문제점
a. 위의 문제점을 해결하기 위해 원본 파일을 별도로 백업해 두는 경우 용량상의 문제점과 시간상의 문제점이 발생함.
3. 해결방안
a. cp command 의 - l 옵션을 이용하여 하드 링크 파일을 생성
b. 원본 파일이 있을 경우에는 용량 증가 무
c. 원본 파일이 삭제된 경우 하드링크 파일에서 파일 복구 가능
4. 시나리오
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
# 실제 백업
# 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
cp -al /backup/today /backup/$today
rm -rf /backup/$(date +%Y%m%d --date '5 days ago')
|