보통 백업 서비스가 1일 백업 서비스(유료 또는 무료)를 하고 있는데요,
실시간 백업 아니면 1시간 간격 백업이 가능한
백업 플러그인 판매(위젯, 애드온...) 업체
또는
백업 서비스 업체가 있을까요?
보통 백업 서비스가 1일 백업 서비스(유료 또는 무료)를 하고 있는데요,
실시간 백업 아니면 1시간 간격 백업이 가능한
백업 플러그인 판매(위젯, 애드온...) 업체
또는
백업 서비스 업체가 있을까요?
백업은 애드온이나 위젯 따위로 구현할 수 있는 것이 아니고, 만약 서버단의 어떤 명령과 연동해서 구현한다 해도 웹에서 실행하는 것을 신뢰할 수 있을지는 미지수입니다. 타임아웃 걸려서 중간에 끊긴다거나...
실시간 백업은 백업으로서의 가치가 전혀 없습니다. 해커가 침투해서 중요한 파일을 마구 삭제하거나, 관리자가 실수로 뭔가를 잘못 수정하더라도 실시간으로 백업이 삭제될 테니까요. DB를 이중화하더라도 마찬가지로, 원본에서 쿼리를 날려 데이터를 삭제하면 사본 역시 실시간으로 삭제되어 복구가 불가능하게 됩니다. (바이너리 로그를 별도로 백업하는 등 보완책이 있으나, 복원이 까다롭습니다.) 백업 시점과 사고 발생 시점 사이에 시간차가 거의 없는 이런 방식은 인간의 의도적인 행위에는 속수무책이고, 서버 디스크 오류 등 기술적인 결함에만 대응할 수 있습니다.
백업이 백업으로서의 가치를 갖기 위해서는 일정한 간격으로 사본(스냅샷)을 만든 후, 원본이 수정 또는 삭제되더라도 사본에 영향을 미치지 않도록 격리시켜야 합니다. 사이트 용량이 작다면 백업 간격을 짧게 유지할 수 있겠지만, 큰 사이트는 증분백업 한 번 돌리는 데도 몇 시간씩 소요되기 때문에 하루 한 번도 버거운 경우가 많습니다.
1. DB는 그냥 덤프떠서 압축하여 백업하면 (mysqldump --single-transaction | gzip -c > dbname.sql.gz) 그것이 곧 스냅샷이 됩니다. 물론 InnoDB여야 합니다. MyISAM은 백업 도중 테이블 락이 걸려서 못써요.
2. files/attach, files/cache, files/thumbnails, files/member_extra_info 폴더 내의 포인트, 쪽지알림, 경험치 캐시파일 등 용량이 크거나 쉽게 재생성할 수 있는 것은 제외하고 나머지를 rsync로 증분백업 및 스냅샷 처리
3. 첨부파일은 xe_files 테이블을 참조하여, 지난번 백업 후 새로 업로드된 파일들만 콕 찝어서 백업 (변경된 파일이 있는지 모든 디렉토리를 스캐닝하는 것만으로도 HDD에 어마어마하게 부담이 갑니다.)
DB 백업이 얼마나 오래 걸리는지에 따라 다르지만, 이렇게 하면 1테라짜리 사이트라도 30분 안에 백업할 수 있습니다. 반면, 3번에 rsync를 사용하면 두세 시간이 걸릴 수도 있고요. 통째로 압축하면 24시간 안에 안 끝납니다. 그저께 백업과 어제 백업, 오늘 백업이 동시에 돌아가고 있는 막장서버도 본 적이 있어요. ㄷㄷㄷ
안정성은 엄청날 것 같은데, 백업 속도나 롤백 편의성은 다른 의미로 엄청날 것 같네요ㅋㅋㅋ
기*곰님 서비스 중에 원격백업 서비스가 있는걸로 압니다.
백업 인터벌이 어느 정도까지 지원하는지는 모르겠습니다만,
1시간이 필요하다면 추가 비용 지불하여 처리가 가능하지 않을까 추측해봅니다.