XETOWN

질문/답변

웹에 관련된 질문과 답변을 나눌 수 있습니다.
질문/답변
2016.11.22 13:15

효과적인 웹백업 어떻게 ?

조회 수 126 댓글 32

지금 현재 사이트 웹백업 용량이 11G 정도 됩니다. 컨텐츠가 매일 늘어나니 이 용량도 계속 늘어나는 구조인데요.

 

그래서 백업을 10일 정도에 한번정도만 합니다. 전체를 tar 압축하는 것 자체도 부하가 조금 걸린다고 들어서 굳이 매일 할 필요는 없다고 판단해서 10일 정도에 한번 정도만 백업 하고 그것을 제 개인PC로 내려 받고 있습니다.

 

이런 백업 말고 변경된 부분만 내려받아 백업하는 방식 ? 동기화인가요??? 

좀더 효율적으로 백업을 할 수 있는 방법이 설명되어 있는 곳이 없을까요??

 

저는 개인적으로 이런 상상까지 해봤습니다. 저희 서버와 다른 어떠한서비스(클라우드저장서비스..) 와 동기화를 해 놓으면 주기적으로 데이터를 서버 -> 클라우드저장소 로 동기화 해주는 것이 있을텐데.. 라는 ....  있을 것 같은데요... 제가 모르는 거 같기도 하구요...

 

좀 서버한테 일  덜시키고 쉽게 백업하는거 없을까요??

 

  • profile
    우성군 2016.11.22 14:12:23
    용량이 많으니 부담스러우실 듯하네요.

    전 5기가 정도 되어서... 매일 새벽 4시에는 DB백업, 4시 5분에 데이터 파일 백업 후

    드롭박스에 업로드 시켜줍니다.

    드롭박스 용량이 많지 않기 때문에 주기적르로 드롭박스가서 삭제해주고요 ㅎㅎ

    https://github.com/andreafabrizi/Dropbox-Uploader

    전 요거 쓰고 있습니다.

    스크립트는 요걸로... https://www.wsgvet.com/odroid/60
  • profile
    웹지기 2016.11.22 14:58:27
    매일이던 열흘이던 전체를 백업하는게 부담스러워 질문을 올린거에요.
  • profile
    기진곰 2016.11.22 15:37:16

    리눅스 서버에서는 rsync와 rsnapshot을 활용하면 변경된 파일만 백업할 수 있습니다.

    10G짜리 사이트의 30일치 백업을 각각 따로 보관해도 전체 용량은 12G 정도밖에 차지하지 않아요.

    (변경되지 않은 파일은 실제 디스크상에 한 번만 저장하기 때문)

     

    이 방법으로 서버 내의 다른 HDD에 백업을 저장하거나, 다른 리눅스 서버로 백업할 수도 있습니다.

    백업서버를 신뢰한다면 굳이 집으로 다운로드할 필요는 없습니다.

     

    "백업"이 아닌 "동기화"는 권장하지 않습니다.

    애초에 백업을 하는 목적이 실수로 뭘 지우거나 잘못 건드렸을 때 복구하는 건데

    실시간으로 동기화를 해버리면 실수로 지우거나 수정한 것까지 모두 동기화되어 버립니다 ㄷㄷㄷ

    또한 XE처럼 DB와 파일이 서로 맞아떨어져야 하는 CMS라면

    특정 시간대의 DB와 파일 상태를 그대로 보존하는 것이 더 중요하거든요.

    파일을 열심히 동기화해 놓았는데 DB가 맞지 않으면 난감해요.

  • profile
    웹지기 2016.11.22 15:40:34
    증분백업이라고 들어보긴 했는데 이것과 관련해서 좀 알아볼 수 있는 문서가 있을까요??? 제가 사용하는 클라우드서버의 경우 신청을 하면 하드를 설치해 주는 것으로 알고 있는데 이 경우가 이렇게 백업을 하는게 아닌가 생각이 들기도 합니다.
  • profile
    기진곰 2016.11.22 16:06:07
    rsync, rsnapshot을 검색해 보세요. DB 백업은 mysqldump를 사용하시면 됩니다.
    (rsnapshot은 내부적으로 rsync를 사용합니다. 서로 무관한 유틸이 아니예요.)
  • profile
    우성군 2016.11.22 16:37:10
    rync 들어봤는데 해봐야겠네요!!!

    rsnapshot 처음 들어봤는데 좋아보이네요.
  • profile
    웹지기 2016.11.23 10:53:34
    일단 제 컴에 vmware를 깔고 우분투까지 깔고 rsnapshot 까지 인스톨을 했는데 다음에 진행할 만한 자료가 검색에서 찾기가 쉽지 않네요~ 어차피 db야 매일 백업을 할 것이라 따로 원격으로 하지는 않을 생각인데요. 웹백업은 지금 처럼 tar로 매번 백업하는 것이 아닌 증분백업이라도 원격으로 할 수 있으면 하고 찾아보는데 쉽지 않네요.
  • profile
    기진곰 2016.11.23 11:33:05
    상당수의 튜토리얼이 서버 전체를 백업한다거나, 일간/주간/월간 백업을 한 번에 관리하는 것을 설명하고 있어요. 쓸데없이 복잡하죠. 수동으로 백업하거나 crontab을 사용하신다면 설정파일(rsnapshot.conf) 하나를 별도로 만들어서 -c 옵션을 쓰는 것이 가장 편리합니다.

    설정파일의 공백은 죄다 탭이어야 한다는 것도 함정... 안정성은 좋은데 너무 불친절한 프로그램이예요.
  • ?
    휘즈 2016.11.22 15:49:29
    집에서 사용하는 피시에 리눅스를 깔고 기진곰님 말씀하신 rsnapshot를 사용해서 원격백업하는 것이 가장 저렴하게 사용하는 방법입니다.
    제가 그렇게 사용하고 있고, 지금 글을 쓰는 컴퓨터가 리눅스깔린 피시입니다.
  • profile
    웹지기 2016.11.22 16:07:58
    일단 제 PC에 가상화로 리눅스를 먼저 설치하고 알아보는게 순서겠네요. 조언 감사합니다.
  • ?
    투데이 2016.11.22 17:07:00
    용량이 11G에요?
    몇일치를 백업하시기에...
    ㅠ.ㅠ 파일사이트운영하시나봐요
  • profile
    웹지기 2016.11.22 17:17:23
    5년 가까이 회원들이 작성한 글에 포함된 이미지들이 많아서 그정도 용량이 나옵니다.
  • ?
    투데이 2016.11.22 17:19:10
    대단하네요....5년...
    솔직히 옛날 안보는글들은 좀 정리하는게 어떨까 싶네요.
    옛날 글들이 사라진다고 사이트에 문제가 생기진 않을것 같은데
    용량을 좀 관리하시는게 어떠한지요?
  • profile
    웹지기 2016.11.22 17:24:08
    회원들의 소중한 추억과 자산을 왜 정리하죠? 개인이 운영하긴 하지만 개인의 자산이 아닙니다.
  • ?
    투데이 2016.11.22 21:38:52
    아하... 좋은마인드시네요 ㅠㅠ 죄송합니다..
    단순히 운영 효율만을 보앗네요^^
  • profile
    약사이다 2016.11.22 17:24:55
    저도 rsync ... 근데 복원할때 헷갈림..
  • profile
    웹지기 2016.11.22 17:25:24
    백업본이 전혀 다르게 생겼나요?
  • profile
    웹지기 2016.11.23 16:26:24
    혹시 rsync 로 증분백업 하시는거 어떻게 하시는건지 알려주실수...........
  • profile
    기진곰 2016.11.23 16:31:37

    rsync -avz --exclude=files/cache --exclude=files/supercache 서버아이디@서버주소:/서버측/경로/ /로컬/경로/

    XE 슈퍼캐시 사용 기준입니다. 캐시폴더는 변경분이 많아서 괜히 용량만 커지니 제외합니다. 어차피 복원하게 되면 자동으로 다시 생길 파일들이니까요.

    서버측 경로와 로컬 경로 뒤에 각각 붙는 슬래시(/)가 중요합니다. 이걸 일관성있게 사용하지 않으면 로컬 경로 안에 폴더가 하나 더 생겨서 백업이 오락가락할 수 있어요. 특히 아래에서 설명드릴 --delete 옵션 사용시 경로가 틀어지면 엉뚱한 파일이 삭제될 수 있으므로 매우 위험합니다.

    좀 해보시고 자신이 생기면 --delete 옵션을 추가하시면 서버측에서 삭제된 파일이 로컬에서도 삭제되도록 할 수 있습니다. 순서를 거꾸로 하면 서버측 파일을 마구 삭제할 수 있으니 주의!

  • profile
    웹지기 2016.11.23 16:37:39
    서버에서 read only로 설정하는게 있는거 같더라구요. 그렇게 해 놓고 서버에서 삭제시 리모트도 삭제되게 해야 할 거 같은데요. 그래야 의미있는 백업이 될 거 같아서요.

    근데 이렇게 하면 오늘,3일전,5일전,7일전 이런게 안되는거 같아서요.
  • profile
    기진곰 2016.11.23 16:57:44
    저걸 crontab에 넣어 놓고 매일 일정한 시간대에 돌리세요.

    일정 기간 동안의 백업을 각각 별도로 보관하는 것은 rsnapshot이고요.

    rsnapshot 쓰기 귀찮은데 백업 공간이 넉넉하다면 7개의 카피를 만들어 놓고 요일별로 하나씩 덮어씌우는 꼼수도 있어요. 최대 7일간의 백업을 보존하게 되지요 ㅎㅎ
  • profile
    웹지기 2016.11.23 17:10:22
    아.. 그럼 경로를 여러개 만들어서 일정한 간격으로 돌려서 백업본을 여러개 만들라는 것이군요. 이렇게 하면 용량이 돌리는 횟수배 만큼 차지하게 되는거네요....
  • profile
    기진곰 2016.11.23 17:24:26
    네, 원리는 똑같은데 rsnapshot은 파일을 실제로 복사하지 않고 하드링크를 사용해서 실제 디스크상에 저장되는 용량을 줄여 주는 것 뿐이예요. 흔히 쓰는 심볼릭 링크보다 더 감쪽같습니다.
  • profile
    웹지기 2016.11.24 11:10:03
    테스트로 지금 해보는데 접속 관련 인증 과정이 필요한데요.. 이거는 크론탭으로 할경우 어떠한 조치가 필요할까요?? can't be establised. ECDSA jey finferprint is SHA256:~~~~.
    Are you sure............. connecting (yes/no)?
    password:

    지금 수동으로 yes 와 패스워드를 타이핑해줬습니다.
  • profile
    기진곰 2016.11.24 11:25:37
    public key를 사용하여 ssh 자동 로그인하는 방법을 검색해 보세요.
  • profile
    웹지기 2016.11.24 11:36:26
    그냥 간편하게 sshpass -p 'myPassword' 이것으로 하니 되네요. 감사합니다.
  • profile
    기진곰 2016.11.23 16:35:23

    같은 시간대에 아래의 방법으로 DB 백업도 생성하셔야 합니다. rsync가 실수로 지우거나 덮어씌우지 않도록 DB 백업용 폴더를 따로 두세요.

    ssh 서버아이디@서버주소 "mysqldump --opt --single-transaction -u디비아이디 -p디비비번 디비명 | gzip -c" > /로컬/경로/디비덤프파일명.sql.gz

    이 명령을 사용하면 서버에 접속하여 mysqldump를 실행한 후 그 결과를 gzip으로 압축하고, 압축 파일을 서버에 따로 저장하지 않고 그대로 다운로드해서 디비덤프파일명.sql.gz에 저장합니다.

     

    서버측 계정 홈 디렉토리에 .my.cnf 숨김파일을 만들어서 아이디와 비번을 미리 입력해 두면 명령줄에 일일이 넣을 필요가 없어서 편리합니다.

  • profile
    웹지기 2016.11.23 16:39:00
    db는 그냥 full backup으로 매일 하려고 해요.. 웹백업만 증분으로 좀 해보려구요. db백업은 용량도 크지 않아 부담이 되지 않으니 그냥 지금처럼 서버에 매일 백업본 내려 받아두는거로 할 생각이에요.
  • profile
    기진곰 2016.11.23 16:55:39
    DB는 당연히 증분백업이 아니라 풀 백업을 하셔야지요. 그러나 DB 파일(/var/lib/mysql)을 다운받는 것은 무의미합니다. DB는 실시간으로 계속 변하기 때문에 mysqldump 같은 유틸리티를 사용하지 않고 그냥 다운받으면 깨질 가능성이 높아요. 나중에 복원하려고 할 때 아주 불쾌한 상황이 발생합니다.
  • profile
    웹지기 2016.11.23 16:58:34
    네. 지금 매일 mysqldump 라는 것이 포함된 스크립트로 백업하고 있어요.
  • ?
    Jack 2016.11.22 18:59:40
    files폴더랑 files폴더 외의 것이랑 2개로 백업을 나눈뒤 각각 시간을 다르게하여 백업했었습니다.
  • profile
    Sunup 2016.11.23 17:53:31
    저도 r싱크 이용하여 오리지날 백업본, 각요일 백업분 이렇게 만들어서 관리하고 있습니다.

List of Articles
번호 분류 제목 날짜
공지 질문/답변 답변을 확실히 받기위한 질문자 지침서 20 2015.12.31
3297 질문/답변 라이믹스 AJAX communication error while requesting 오류문의 9 2016.11.24
3296 질문/답변 끌어올리기아템에대해서문의드립니다 3 2016.11.23
3295 질문/답변 리다이렉트 관련 질문 좀 드리겠습니다!! 1 2016.11.23
3294 질문/답변 스케치북 게시판 모바일에서 2 2016.11.23
3293 질문/답변 슈퍼캐시가 갑자기 작동을 안하는 것 같아요.. 3 file 2016.11.23
3292 질문/답변 클플관련해서 1 2016.11.22
3291 질문/답변 [모듈] $upload_target_srl 에 관하여 2 2016.11.22
3290 질문/답변 FAQ 모듈 개발 중단 된건가요? 3 2016.11.22
3289 질문/답변 오래되서 기억이 가물가물한데 js에서 디버그 어떻게 하나요? 6 2016.11.22
» 질문/답변 효과적인 웹백업 어떻게 ? 32 2016.11.22
3287 질문/답변 서버 커널 업데이트 언제 하시나요? 9 2016.11.22
3286 질문/답변 MYSQL 에러같은데 전문가님들 딱 한번만 봐주세요 ㅠㅠ 11 file 2016.11.21
3285 질문/답변 [모듈개발] 이미지 파일첨부 & 출력 14 2016.11.21
3284 질문/답변 mysql restart 에러 문의드립니다. 3 2016.11.21
3283 질문/답변 레이아웃에서 위젯페이지인지, 게시판인지 구분하는 인자가 있을까요? 6 2016.11.21
3282 질문/답변 글 작성시 선택한 분류명이 글의 '태그'에 입력되게 하고 싶습니다 4 2016.11.21
3281 질문/답변 대기 상태의 파일들은 지워버려도 되는건가요~~~~~? 2 2016.11.21
3280 질문/답변 XETOWN처럼 첨부파일을 올리면 이미지가 바로 본문에 삽입되는 애드온 4 2016.11.20
3279 질문/답변 라이믹스 최신버전에서 게시물 자동 이동기능이 또 안되네요 13 2016.11.20
3278 질문/답변 포인트가 마이너스인 회원의 글쓰기를 제한하려면? 4 2016.11.20
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 170 Next
/ 170
위로
서버에 요청 중입니다. 잠시만 기다려 주십시오...