소개

 

매번 서버 이전이나, 도메인 변경에 어려움을 겪고 계시는 분들이 있는것 같아

쉘 스크립트 파일로 자동화 파일을 만들어 봤습니다.

 

다운로드

site_migration.sh

 

시작하기

이 파일을 실행하기 위해서 몇가지 준비과정이 필요합니다.

 

1. 원래 서버, 이전할 서버 모두 SSH 접속이 가능해야 합니다.

2. 원래 서버에서 DB를 원격으로 접속할 수 있어야 합니다. (같은 서버라면 DB 호스트 주소에 127.0.0.1 만 입력하면 됩니다.)

3. 암호가 없는 완전 자동화 로그인을 위해 키 방식 로그인이 설정되어야 합니다. 

 

3번의 경우는 옵션입니다. 키 방식의 SSH 로그인이 가능하면 완전 자동화가 가능하고, 키 방식의 로그인 설정을 못한 경우에는 중간에 암호를 따로 입력해야 합니다. 키방식의 로그인 방법은 아래의 링크에서 설명되어있습니다.

https://studyforus.com/matstar/249223

 

파일을 다운 받고나면 파일 내에 변수들을 설정해줘야 합니다.

#기존 서버 백업 변수 설정
ORIGIN_HOST='ORIGIN_server_host' # 원본 서버 호스트
ORIGIN_DB_HOST='db_host' # 원본 DB 호스트
ORIGIN_DB_NAME='db_name' # 원본 DB명
ORIGIN_DB_USER='db_user_name' # 원본 DB 유저명
ORIGIN_DB_PASSWD='db_user_password' # 원본 DB 유저 암호
ORIGIN_WEB_DIR='absolute_file_path' # 절대 경로로 입력
ORIGIN_USER='user_name' # SSH 또는 FTP 유저명
ORIGIN_DOMAIN='www.domain.com' # 원본 도메인 주소
DB_PREFIX='rx_' # DB 접두사 입력 (기본 rx_ / 또는 xe_)

#미러링 서버 백업 변수 설정
MIRROR_HOST='hostname' # 복사할 서버 호스트
MIRROR_DB_HOST='127.0.0.1' # 복사할 서버 DB 호스트
MIRROR_DB_NAME='new_db_name' # 복사할 DB 이름
MIRROR_DB_USER='new_db_user' # 복사할 DB 유저명
MIRROR_DB_PASSWD='new_db_password' # 복사할 DB 암호
MIRROR_WEB_DIR='new_web_path' # 복사할 웹 디렉터리 (가급적 절대경로로)
MIRROR_DOMAIN='www.mirror.com' # 복사할 도메인 주소

 

 

변수 목록은 위와 같습니다.

원래 제가 사이트 하나를 미러링 용으로 사용하려고 만든 스크립트라서 변수명이 mirror로 되어 있습니다.

만약, 서버만 이전하고자 하는 경우 복사할 도메인 주소를 원래 주소와 똑같이 입력하시면 됩니다.

 

이 스크립트 파일을 이전할 서버에 업로드 한 뒤 실행권한과 다른 사람들이 볼 수 없도록 권한을 설정해야 합니다.

chmod 700 site_migration.sh

 

모든 변수들 수정을 마친 상태라면 아래 명령어로 실행 가능합니다.

./site_migration.sh

 

이 과정을 마친뒤에 관리자 계정으로 로그인 한 뒤 캐시파일 재생성 한번 눌러주세요. (캐시 폴더들을 예외 시켰기 때문입니다.)

추가 내용

해당 파일은 라이믹스 기준으로 이전 할 수 있도록 작성되었지만 XE에서 사용하고자 한다면 sh 파일의 맨 마지막

 

# 기존 웹 파일의 config 정보 수정 (Rhymix 업데이트로 인해, 데이터 베이스를 직접 수정해야 함.)
 

부분 밑의 내용들을 삭제하면 XE 서버 이전에도 무난히 사용할 수 있을겁니다. (단, db.config.php 파일이 수정되어야 합니다.)

 

 

또한 위에서 적었다시피 사이트 미러링을 위해 작성된 파일입니다. 백업용 사이트를 구성하고자 하는 경우 해당 스크립트 파일을 정기적으로 실행하시기만 하면 됩니다. 특히, 크론잡을 걸어놓으면 매우 편리합니다.

 

 

 

- 버전 정보

V0.1 (현재버전)

 

V0.2 에서 추가될 내용 : DB 파일을 압축해서 덤프.

 

 

 

기타 의견을 댓글로 남겨주시면 반영하겠습니다.

 

Atachment
첨부
  • profile
    오..... 좋아 보입니다.
  • profile profile
    감사합니다. ^^
  • profile
    디비 접근 아이디에 % 주소가 추가 되어야 하겠죠?
  • profile profile
    앗, 무슨 말인지 이해를 못했습니다. ㅠㅠ
  • profile profile
    아. 아닙니다. ssh 로그인이군요
  • profile
    사이트 이전하는 것보다 쉘 스크립트 실행하고 ssh key 세팅하는 것이 더 힘들 것 같습니다. 일반적인 웹호스팅 환경에서 사용하기 곤란할 수도 있고요.

    백업/복원까지는 대부분 별 문제 없이 하시는 것 같으니, 도메인 변경시 DB와 설정파일에서 도메인 정보를 수정하고 캐시파일을 재생성하는 등의 작업만 자동화시킬 수 있어도 많은 도움이 되겠습니다. (라이믹스는 캐시파일을 빼고 복사해 오면 따로 "캐시파일 재생성"을 클릭해줄 필요도 없습니다.)
  • profile profile
    준비과정이 조금 복잡하긴 하지만 SSH key로그인방식은 해도 그만 안해도 그만입니다.

    본문에도 적었지만 제가 운영하는 사이트의 미러링 사이트를 만들려고 만든거라 많은 부분에서 자동화가 필요했어요.
    그 과정에서 문득 사이트 이전이나 도메인 변경으로 고생하는 분들이 계셨던게 생각이 나서 겸사겸사 공개한거구요. ^^

    그리고 라이믹스는 캐시파일들을 빼고 복사를 하면 따로 캐시파일 재생성 과정을 안해도 되는 거였군요.
  • profile
    많은분들께 도움이 되겠습니다. 자료 만드시느라 고생 하셨습니다....^^
  • profile profile
    감사합니다. ^^
  • profile

    .

  • profile profile
    감사합니다. ^^