안녕하세요. 사이트의 서버를 한두번 옮기는데 용량이 크니

시간이 엄청걸리더라구요. 따로 백업은 하지 않고 백업파일 또한 없이

100기가 가량 되는것 같습니다. 대략 한 10시간 정도??

 

제가 이전하는 방식은 이렇습니다.

 

0 . nginx, php 스톱 (사이트 접속중지)

1. 디비 풀백업

2. 디비풀백업 sql 파일+사이트 전체파일 tar.gz 압축 (대략 5~6시간?)

3. rsync -avz id@ip 명령어로 전체압축한 파일을 rsync로 이전할 서버에 보냅니다. (대략 3~4시간?)

4. 넘겨받은 tar.gz 압축파일을 풉니다. (대략 1~2시간)

 

이렇게 두어번 옮기다보니 앞으로 이전할 엄두가 안 납니다.

제가 궁금한것은 이렇습니다.

 

1. rsync로 그냥 압축없이 전체파일을 보내면 속도가 단축되는지?

2. 속도가 더 단축된다면 수십만개의 파일을 이동하게 되는데 누락걱정은 안해도 되는지?

3. rsync로 보내는 방법 말고 scp??인가 그거나 다른 더 빨리 파일을 서버대서버로 이동시키는 방법이 있는지 입니다.

 

ps ... 백업을 미리미리 해두면 좋은데 증분백업인가?? 그걸 설정하다가

사이트를 통째로 날려먹은적이 있어서 서너달에 한번씩 통백업을 하고있습니다(-_-);;;

  • Lv15
    Rsync 로 전송할건데 tar압축은 무의미 합니다.
    압축하는데 걸리는 시간과 그 압축파일이 전송되는데 시간을 잡아 먹습니다.

    Rsync 사용할거면 tar 압축은 안하셔도 됩니다.
  • Lv15
    Rsync를 사용가능하면 scp보다 rsync가 더 낫습니다.
    -a 인수를 사용하면 파일의 권한까지 복사가 되거든요.

    압축 과정없이 파일 전체를 rsync로 전송하시면 됩니다.
  • Lv15 ?
    묶는시간과 푸는시간이 없어지니 많이 단축되겠네요
    왜 묶어서 두번 일을 했을까나;;;

    감사합니다.
  • Lv36

    1. rsync -avz 이렇게 하면 전송 과정에서 실시간으로 압축됩니다. 압축한 파일을 전송한 후 다시 압축을 푸는 것보다 빠르죠. 대체 무슨 마법을 부리는지는 몰라도, 파일이 많을수록 그냥 복사하는 것보다 오히려 더 빠릅니다 ㄷㄷ

    2. 복사할 수 없는 파일이 있으면 에러가 뜹니다. 파일 수가 너무 많아서 에러를 확인하기 힘들다면 똑같은 rsync 명령을 한 번 더 려보세요. 누락된 파일만 다시 동기화하려고 시도합니다.

    3. scp는 rsync가 지원되지 않는 서버에서 대충 땜빵할 때 쓰는 프로그램입니다. rsync만 있으면 앞으로 영원히 FTP, tar.gz 등은 거들떠보지도 않게 됩니다. 서울에서 부산까지 가는데 FTP는 걸어가는 거나 마찬가지고, tar.gz으로 압축해서 옮기면 자전거 타고 가는 셈이고, scp는 고속버스, rsync는 KTX입니다^^

  • Lv36 ?
    답변 감사합니다. 굳이 압축을 해서 보내는 수고를 안해도 됐던거네요^^

    2. rsync -avz id@ip 로 옮기기가 완료된 후 다시 한번 rsync -avz id@ip 입력을 하면
    누락된 파일이 있다면 그 파일만 다시 옮기게 되는건가요???
  • ? Lv36
    네.
  • Lv36 Lv6
    우와...
    ktx타러 가야겠네요..... ^^
  • Lv9

    rsync exclude 옵션을 사용하여 캐시파일 등 불필요한 파일 제외하면 그나마 도움이 됩니다.
    압축을 할 때에도 캐시파일은 압축파일에 포함할 이유가 별로 없죠.

  • Lv9 Lv36
    일반적인 XE/라이믹스 기반 사이트를 옮길 때 안전하게 exclude할 수 있는 경로 목록을 첨부합니다.

    --exclude=files/cache
    --exclude=files/supercache (슈퍼캐시 모듈 사용시)
    --exclude=files/member_extra_info/experience (경험치 모듈 사용시)
    --exclude=files/member_extra_info/new_message_flags
    --exclude=files/member_extra_info/point

    그 밖에 files/cache_1234567890 이런 폴더가 있다면 exclude할 것도 없이 미리 지워버려도 됩니다. 사이트 작동에 전혀 영향을 끼치지 않으니까요.

    단, files/cache 폴더를 제외하고 복사한 경우 XE에서는 메뉴가 나오지 않는 버그가 있습니다. 관리자 화면에서 "캐시파일 재생성"을 한 번 클릭해 주면 해결됩니다.
  • Lv36 Lv9
    이정보는 다른 분들에게도 도움이 많이되겠네요.
    사실 cache디렉토리 이외에 다른 디렉토리는 제외하기가 망설여지거든요.
  • Lv9 Lv36
    member_extra_info 쪽은 반드시 가져가야 하는 정보(이미지이름, 서명 등)와 캐시정보(포인트, 경험치 등)가 섞여 있어서 정확히 알지 못하면 위험부담이 있죠...
  • Lv9
    rsync도 그렇고 압축할 때, 압축풀 때 걸리는 시간은 서버성능에 많이 좌우됩니다.
    몇배이상 차이가 납니다.