티스토리 뷰

지식정보

sitecopy 설치 및 사용법

onggun 2010. 6. 25. 14:01


왠만한 웹서비스를 운영하려면 어플리케이션 서버를 여러대 두는 경우가 많습니다. 아무래도 부하를 분산하려는 목적이겠죠.

이용하는 입장에서야 서버가 여러대이면 느리지도 않고 좋겠지만 관리하는 입장에서는 힘들게 마련이죠. 물론 서버간 링크를 만들어서 한곳에서만 소스를 관리할 수도 있지만 위험부담을 줄이기 위해서 따로 관리하는 경우도 많습니다.

그럼 여러대의 서버에 있는 소스를 동기화 할 수 있는 방법이 필요한데 그 중 하나가 sitecopy 를 이용하는 겁니다. 이 프로그램은 쉽게 이야기 해서 로컬에 변경된 소스파일을 원격서버와 동기화 시켜주는 프로그램입니다.

소스 동기화 외에도 미러링 사이트로 파일을 보내던가 자료 백업용으로 사용하는 등 여러분야에 활용가치가 높습니다. 게다가 공짜이기도 하고요.

일단 http://www.manyfish.co.uk/sitecopy 사이트에서 운영체제에 맞는 설치파일을 다운로드 받습니다.

뭐 소스코드를 받아서 컴파일하는 게 좋겠지만...

2010년 6월 25일 현재 0.16.6 버전이 가장 최신입니다.

소스코드를 받아 설치과정은 다음과 같습니다.

설치
----------------------------------------------------------------------------------------------------------------------------------

압축해제
$ tar -xvzf sitecopy-0.16.6.tar.gz 
컴파일
$ cd sitecopy-0.16.6
$ ./configure --prefix=$HOME
$ make
$ make install 
SiteCopy 디렉토리 생성
$ cd
$ mkdir -m 700 .sitecopy 
RC파일 생성
$ touch .sitecopyrc
$ chmod 600 .sitecopyrc



사용법
----------------------------------------------------------------------------------------------------------------------------------

이미 원격서버에 파일이 있는 경우(이미 원격서버에 파일을 업로드한 경우)
$ sitecopy --catchup sitename 
원격서버에 파일이 있고 로컬에 파일이 없는 경우
$ sitecopy --fetch sitename 
파일 동기화
$ sitecopy --synch sitename 
원격서버를 새로 설정하는 경우
$ sitecopy --init sitename 
로컬에서 변경된 파일을 원격서버에 적용
$ sitecopy --update sitename 
로컬에서 변경된 상태를 확인
$ sitecopy sitename


Operation modes
----------------------------------------------------------------------------------------------------------------------------------

-l, --list
서버간 차이점 출력 
-ll, --flatlist
awk 등 외부 스크립트에서 파싱하기 쉬운 포맷으로 출력 
-u, --update
원격서버의 파일을 업데이트 
-f, --fetch
원격서버의 파일 목록을 출력 
-s, --synchronize
원격서버의 변경사항을 로컬에 동기화 
-i, --initialize
원격서버 초기화 
-c, --catchup
로컬파일이 원격파일과 같은것으로 설정 
-v, --view
RC파일에 정의된 모든 사이트 설정을 출력 
-h, --help
도움말 출력 
-V, --version
버전 출력


옵션
----------------------------------------------------------------------------------------------------------------------------------

-y, --prompting : 확인 프롬프트 
-r RCFILE, --rcfile=RCFILE : RC파일 지정 
-p PATH, --storepath=PATH : 저장소 디렉토리 지정 
-q, --quiet : 파일명만 출력 
-qq, --silent : 출력 없음 
-o, --show-progress : 업데이트모드에서 진행현황을 출력 
-k, --keep-going : 업데이트, 동기화시 에러무시 
-a, --allsites : 모든 사이트 
-d MASK, --debug=KEY[,KEY...] : 디버깅





댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday