unix 파일 시스템에 있는 데이터 파일이나 혹은 시스템 파일들을 압축을 통하지 않고 rsync 명령을 이용하여 windows 시스템에 백업을 할수 있습니다. 

cygwin 에서 rsync 명령을 사용 하기 위해서는 ssh , cron , rsync , vi , crontab 등이 설치 되어 있어야 합니다. 

OpenSSH Setup 
Cygwin에서 OpenSSH 데몬을 설치하는 것은 매우 쉽고 간단합니다. 

환경 변수 설정 
Cygwin에서 OpenSSH가 제대로 작동하기 위해서는 몇가지 환경 변수를 설정해야 한다. 

[시작]→[제어판]→[시스템]→[고급]→[환경 변수]→[시스템 변수]로 이동해서 "새로 만들기" 버튼을 눌러 "CYGWIN"이란 변수를 만들고, 값을 "ntsec tty"로 설정한다. CYGWIN=ntsec tty 

Windows NT/2000/XP의 파일 시스템이 FAT32라면 'ntsec' 옵션은 그다지 도움이 되지 않는다. 이 경우 그냥 "CYGWIN=tty"라고 설정한다. 

 

다음으로 Path 추가를 한다. 역시 [시작]→[제어판]→[시스템]→[고급]→[환경 변수]→[시스템 변수]에서 PATH 변수에 "C:\cygwin\bin" 경로를 추가한다. Path : ;C:\Cygwin\bin 

 

OpenSSH 패키지 파일 설치 
Cygwin이 이미 설치되어 있다는 것을 가정하고, 추가로 OpenSSH 패키지 파일만 설치하는 것을 설명하겠다. Cygwin 설치는 위의 뉴중 설치 및 제거 페이지를 참조하기 바란다. 

OpenSSH 패키지 파일 설치는 Cygwin 설치와 동일하게 진행하다가 7. 설치할 패키지 파일 선택에서 다음의 패키지만 추가시키면 된다. 

Admin Category → cygrunsrv, Net Category → openssh (이를 선택하면 openssl과 openssl096 패키지가 자동으로 선택된다.)를 선택하여 설치한다. 이후 과정은 Cygwin 설치와 동일하다. 

물론 vim과 같은 텍스트 편집기는 기본적으로 필요하다. 

 

Bash 설정 (옵션) 
설치가 완료되었다면 편리성을 위해 bash 튜닝(profile, alias)을 해준다. 이에 관한 내용은 Bash 설정 페이지를 참조한다. 

OpenSSH 설정(구성) 
Cygwin으로 로그인하여 "ssh-host-config -y" 라고 입력하고 실행한다. 이 명령은 필수 구성 파일과 디렉토리를 생성한다. 마지막에 "CYGWIN=" 프롬프트가 나타나면 첫번째 단계에서 만든 CYGWIN 환경 변수 값을 입력한다. "CYGWIN=ntsec tty" 



서비스 등록 완료 
SSH 서비스가 로컬 시스템 계정하에서 성공적으로 설치되었음을 알려준다. 



SSHD 서비스 기동 및 테스트 
"cygrunsrv -S sshd" 명령을 통해 SSHD 서비스를 시작시키고, "ssh localhost"로 정상적으로 서비스가 작동하는지 테스트 해 본다. 



vi setup 
vi 설치 파일은 cygwin 설치 프로그램에서 setup.exe 파일을 실행 시키고 vi 패키지를 설치 하면은 됩니다. 

cron setup 및 윈도우 서비스에 등록 

cron 설치는 openssh 설치 방식과 같으며 환경설정 파일은 따로 설정 하지 않아도 됩니다. 

 

cygrunsrv : 자동실행 명령 

 

cron 데몬실행 
cron 패키지를 설치 하게 되면 /usr/sbin 폴더 않에 cron.exe 파일이 생성이 됩니다.cron.exe 파일은 crontab 에 설정된 명령을 실행 하게 됩니다. 

[Administrator@windows2003]/usr/sbin/cron.exe 
[Administrator@windows2003]ps -ef | grep cron 

ps 명령으로 cron 데몬을 확인 할수 있습니다. 

rsync setup 
rsync setup 역시 같은 방법으로 패키지로 설치를 할수 있습니다. 

rsync 명령은 로컬시스템 또는 원격서버의 데이터를 그대로 복사 하여 백업 할수 있는 역활을 합니다. 

[다음은 백업 대상 서버에서 설정 해야 할 파일 입니다.] 

백업 대상 서버에 rsyncd.conf 파일을 생성 합니다.rsyncd.conf 파일은 원격에 백업 서버가 백업 대상 서버에 접속을 할때 백업을 할 장소 및 권한등을 지정 하는 곳 입니다. 

[root@qqq data]#vi /etc/rsyncd.conf 
[backup] 
path = /a 
comment = a 
uid = nobody 
gid = nobody 
use chroot = yes 
read on-ly = yes 
hosts allow = qqq 
max connections = 3 
timeout 600 

[backup] 서비스명 
path 서비스할 디렉토리 
comment 설명 
uid 파일전송하는 사용자의 id. 기본값 nobody 
gid 파일전송하는 사용자의 그룹 id. 기본값 nobody 
use chroot 위의 path를 root 디렉토리로 사용. 보안상 필요함. 
read only 읽기전용 
hosts allow 호스트별 접속허용. 기본값은 all host이므로 보안을 유지하 
려면 반드시 설정함 
max connections 동시접속자수 
timeout 클라이언트에서 접근시 타임아웃시간. anonymous 로 운영하는 경 
우 설정을 해야 클라이언트가 죽었을 때 서버에서 접속을 해체할 수 있음. 

위와 같은 방식으로 백업 폴더를 생성해 줍니다.그리고 백업 대상 서버에 rsync 데몬이 설정 되어 있어야 합니다. 

[백업서버] 

백업 서버에서는 rsync 명령을 crontab 에서 직접 실행 할수 도 있고 여기서는 rsync.sh 파일을 생성 해서 rsync 명령을 사용 하겠습니다. 

vi 편집기를 이용 하여.... 

rsync -azv 192.168.0.10::a /home/test 

wq! 

chmod +x ------> 퍼미션 변경. ( x : 실행권한) 


 

crontab 설정 

 

* */14 * * * /home/Administrator/rsync.sh 

위의 crontab 명령은 /home/Administrator/rsync.sh 파일을 14시에 한번씩 실행 시키는 
명령 입니다. 

위와 같이 설정을 하면은 외부 유닉스 에 있는 파일들을 윈도우에서 백업을 받아 보관을 할수도 있고 서버간 동기화 설정을 할수 도 있습니다.

'Infrastructure' 카테고리의 다른 글

windows 2003 ASR 복구  (0) 2010.01.12
cygwin  (0) 2010.01.12
서버 복구 [apache2 + tomcat 5 + postgresSQL 8.1 + jdk2]  (0) 2010.01.12
터미널 서비스 로그 생성.  (0) 2010.01.12
Windows Media Service RTSP Port  (0) 2010.01.12

+ Recent posts