크게 작게 인쇄

홈페이지 백업/복구하기



I. 기본적으로 알아야 할 사항 [필독]

 

저 역시 그랬었지만, 설치형블로그 혹은 XE와 같은 설치형홈페이지를 처음 사용하는 사용자들이 가장 실수하는 부분들은 크게 두곳입니다.

바로 『계정의 파일들은 백업해 두면서 DB는 백업하지 않는것』 과『계정의 파일들을 FTP로 일일이 내려 받는 것』입니다.

 

XE를 이용하면서 게시물들, 회원정보들, 페이지들, 각종설정들 등등.. 무수히 많은 부분을 자기의 취향에 맞게 수정해 오셨을 텐데요.. 그 설정값들은 FTP 상에 있는 XE폴더에 저장되는 것이 아니라 모두 DB에 저장됩니다. 단, 첨부파일들 만큼은 xe 폴더 안에 있는 files 폴더 중에 attach 폴더에 저장되고, 이미지 파일을 제외한 모든 파일들은 암호화되어 저장됩니다. 그래서 직접 FTP로 내려받는다고 해서 그 파일을 열람할 수는 없습니다.

 

위와 같은 사항을 기본적으로 인지하시고 아래 과정을 따라하십시오.

 

 

II. 계정의 파일들을 백업하기 전에 알아야 할 사항 [필독]

 

[포인트 1] 계정의 파일들은 SSH 를 이용하여 리눅스 명령어를 통해 백업하여야 합니다.

[포인트 2] DB는 SSH 를 이용할수도 있고, PHPmyadmin 을 이용하여 웹상에서 간단히 이행할 수도 있습니다.

 

상술 하였듯이 XE를 백업할 때에는 FTP 상에서 보이는 xe 폴더와 파일들만 백업해서는 안되고 DB까지 모두 백업하셔야 합니다.

또한 FTP 상에 있는 xe 폴더와 파일들을 일일이 본인의 컴퓨터에 내려받는 방식으로 백업해 두어서도 안됩니다.

 

그 이유는 첨부파일 중, 이미지 파일 말고, 압축파일인 경우에는 우선 DB 상으로는 XE_files 에 저장됩니다.

그러나 실제적인 파일의 업로드는 암호화되어 XE폴더 -> files -> attach -> binaries 폴더 안에 저장됩니다.

폴더번호는 일련의 규칙에 따라 생성되어 저장되게 됩니다.

  

그런데, 이 폴더의 파일들을 백업하여 복원할 때 문제가 발생합니다.

XE를 계정이전하거나 백업후 복원할 때, 리눅스명령어 (tar cvf / tar xvf ) 를 사용하지 않고 FTP 로 직접 파일들을 다운받아 백업하고, FTP 업로드를 통해 업로드를 하는 경우 암호화되어 저장된 파일의 속성이 변경되어 버리는 문제가 있습니다.

.exe 등과 같은 일반 파일들의 경우 큰 문제가 없는것 같으나, .zip, .rar, .alz, .tar 등 모든 압축파일은 문제가 생깁니다.

 

따라서, 만일 SSH가 지원되지 않는 계정을 이용중이시라면

반드시 서버관리자 / 호스팅업체에 데이터백업을 요청하셔야 합니다.

 

 

 

III. 본인 계정에 올려진 파일들 백업하기

 ( FTP로 접속했을 때 나오는 것들 )

 

그럼 먼저, 계정의 파일들을 백업하는 방법을 알아보겠습니다.

아래의 백업 방법은 이용하고 있는 계정이 SSH를 지원하여야 따라할 수 있습니다.

 

SSH를 지원하지 않는 호스팅 환경에서도 php 파일만으로 백업을 할 수 있는 방법은 있습니다.

그러나 그 방법은 몇가지 변수가 있기 때문에 여기서는 서술하지 않도록 하겠습니다.

 

 

1. 본인의 계정에 Putty 등의 프로그램으로 SSH 로그인을 하세요.


  

2. ls 라고 입력하여 자기가 사용하는 호스팅업체의 루트 폴더 이름을 확인하세요.

 

      ▲ 저의 경우 "html" 이 루트 폴더입니다. www, public_html 등의 폴더가 이에 해당합니다.

 

 

3. 계정의 파일들을 백업할 것입니다. 압축명령어를 실행해 주세요.

 

      tar cvfpz backup.tar.gz html

 

    

      tar cvfpz : cvfpz 라는 추가명령어를 포함하여, 압축하라

      backup.tar.gz : backup 이란 파일명으로 tar.gz 라는 압축파일을 만들어라.

      html : 백업하려는 폴더 이름은 html 이다.

      

 

      따라서, 위와 이 글을 읽으시는 분들은 본인의 계정환경에 맞게, tar cvfpz 이후의 명령어는 바꿔 입력하시면 됩니다. 

 

 

4. FTP로 접속해서 백업한 파일을 컴퓨터에 저장하세요.

 

      이제 FTP 로 접속하시면 위에서 생성한 파일이 있는 것을 알수 있습니다.

      백업한 파일을 다운받아 컴퓨터에 저장하면 모두 백업이 된 겁니다.

 

 

 

 

IV. 본인 계정에 올려진 파일들 복원하기

 ( FTP로 접속했을 때 나오는 것들 )

 

 

1. FTP로 접속해서 복원할 파일 (예컨대 위에서 만든 backup.tar.gz) 을 업로드 하세요.

 

     - 업로드는 본인이 원하는 곳에다 하면 됩니다만, 이왕이면 루트안에 임의의 폴더를 만드셔서 하는 것이 좋습니다.

        압축된 백업파일들이 그 자리에서 압축이 풀리기 때문입니다.

 

2. 본인의 계정에 Putty 등의 프로그램으로 SSH 로그인을 하세요.

  


3. cd 등의 명령어를 이용하여 자기가 파일을 업로드 한 폴더로 이동하세요.



4. 이제 계정의 파일들의 압축을 해제할 겁니다. 압축해제 명령어를 입력하세요.

 


    tar xvfpz backup.tar.gz

 


    tar xvfpz : vfpz 라는 추가 명령어를 포함하여 압축을 해제할 것이다.

    backup.tar.gz : 압축해제 대상은 backup.tar.gz 파일이다.

 

 

    따라서, 본인이 압축했던 파일 명을 tar xvfpz 뒤에 입력하면 됩니다.

 

 

5. 폴더에 백업하면서 압축했던 파일들이 풀렸을 겁니다. FTP 로 원하는 곳으로 이동하시면 됩니다.

 

 

 

V - 1. SSH를 이용하여 DB 백업하기

 ( SSH 사용방법이 어렵거나 지원이 되지 않는 환경이라면 V-2. PHPmyadmin 을 이용하여 DB백업하기를 참고하세요)

 

 

1. SSH로 계정에 로그인 하세요.

 

2. DB백업 명령어를 실행해 주세요.

 

 

    mysqldump -u ID -p DBname > backup.sql

 

  

    mysqldump : mysql DB를 백업할 것이다.

    -u ID : user는 ID 이고,

    -p : 비밀번호는 조금있다가 입력할 것이다.

           (저 명령어를 넣은 후 엔터 치면, Enter Password 라고 비밀번호 입력칸이 나옵니다)

    DBname : 본인의 DB명을 입력하시면 됩니다.

    > backup.sql : 그 DB명에 있는 테이블들을 backup.sql 파일로 저장할 것이다.

    


V - 2. phpmyadmin을 이용하여 DB 백업하기

 

 

1. phpmyadmin 으로 접속하세요.

 

  ※ phpmyadmin 접속 방법은 호스팅업체마다 다릅니다. 접속 방법에 대해서는 호스팅업체에 문의하세요.

  ※ phpmyadmin 을 아예 기본적으로 지원하지 않는 곳도 간혹 있을 수 있습니다.


백업할 DB선택 - 내보내기 클릭 - 파일 저장 체크 후 실행




VI - 1. SSH를 이용하여 DB 복원하기

 

1. FTP로 접속해서 복원할 파일 (예컨대 위에서 만든 backup.sql) 을 업로드 하세요.

 

     - FTP로 접속했을 때 나오는 화면 (보통 루트 보다 상위 폴더. www 나, html, public_html 등의 상위 폴더)

        에 바로 업로드 하시면 됩니다.

 

2. 본인의 계정에 Putty 등의 프로그램으로 SSH 로그인을 하세요.

 

3. 이제 DB를 복원할 것입니다. DB복원 명령어를 입력하세요.

 
 

    mysql -u ID -p DBname < backup.sql

 

    이라고 입력하였는데,

    mysql : mysql서버를 불러올 것이다.

    -u ID : user는 ID 이고,

    -p : 비밀번호는 나중에 입력할 것이다.

    DBname < backup.sql  : backup.sql 파일에 있는 내용들을 DBname 이라는 DB명에 넣을 것이다.

    라는 뜻입니다.

 

    주의할 점은, 백업할때 사용하였던 mysqldump 와 명령어가 다릅니다. mysqldump 가 아닌 mysql 입니다.

    또한 여기서 입력하는 ID, 비밀번호, DBname 등은 계정의 정보에 맞게 입력하셔야 합니다.

 

 

 

 

VI - 2. phpmyadmin 을 이용하여 DB 복원하기

 

※ DB가 저장되어 있는 형태, DB를 백업해 둘 당시의 php환경, 백업파일업로드 용량제한 등의 이유로

복원이 되지 않을 수 있습니다. 이 경우에는 SSH를 이용하여 복원하시거나 호스팅업체에 문의하세요.

 

※ 중요!

 

데이터베이스 안에 복원하려는 테이블이 중복하여 이미 존재할 경우 제대로 복원이 되지 않을 수 있습니다.

중복되는 경우에는 복원되지 않고 복원 과정이 취소 되므로,

반드시 DB를 깨끗이 비우고 시작하는 것이 좋습니다.

 

※ phpmyadmin 은 호스팅별 변수가 많습니다. 일반적인 방법을 서술하였으니 특수한 상황에서는

     별도의 과정이 필요할 수 있습니다.

 

 가져오기로 복구.






※ 로그인 하시면 원본파일을 볼 수 있습니다. ※

0
코멘트 0
자동등록방지 코드
XE팁 | 전체게시물 20
안내

포인트안내닫기

  • 글읽기0
  • 글쓰기100
  • 댓글쓰기50
  • 다운로드-500
XE팁리스트
번호 제목 글쓴이 날짜 조회 추천
20 텍스트 링크 슈퍼맨 웹스터디 05-23 3734 0
19 파일첨부 +1 링크 슈퍼맨 웹스터디 05-16 3045 0
18 텍스트 슈퍼맨 웹스터디 05-14 2991 1
17 텍스트 슈퍼맨 웹스터디 09-07 3263 0
16 텍스트 +1 링크 슈퍼맨 웹스터디 04-16 3234 0
15 텍스트 링크 슈퍼맨 웹스터디 03-31 3055 0
14 텍스트 링크 슈퍼맨 웹스터디 02-21 3839 0
13 텍스트 슈퍼맨 웹스터디 02-21 2753 0
12 텍스트 슈퍼맨 웹스터디 02-15 2791 0
11 텍스트 +2 링크 슈퍼맨 웹스터디 02-08 3654 0
10 파일첨부 링크 슈퍼맨 웹스터디 02-01 2890 0
9 텍스트 +2 슈퍼맨 관리자 12-15 2991 0
8 파일첨부 +1 슈퍼맨 웹스터디 12-04 4203 1
7 답변 텍스트 슈퍼맨 웹스터디 12-04 2821 0
6 파일첨부 슈퍼맨 웹스터디 12-04 4318 0
5 텍스트
홈페이지 백업/복구하기
슈퍼맨 웹스터디 12-04 3164 0
4 텍스트 슈퍼맨 웹스터디 12-04 2639 0
3 텍스트 슈퍼맨 웹스터디 12-04 2692 0
2 텍스트 +1 슈퍼맨 웹스터디 12-04 2411 0
1 파일첨부 링크 슈퍼맨 웹스터디 12-04 2732 0