SPRING :: NOTE

[rSync] 윈도우와 리눅스 간 폴더 동기화 시스템 구축 [2] 본문

Development Tools/Linux

[rSync] 윈도우와 리눅스 간 폴더 동기화 시스템 구축 [2]

RAYZIE 2016. 2. 11. 16:46
반응형

[rSync] 윈도우와 리눅스 간 폴더 동기화 시스템 구축 [1]


본 글에서는 앞선 윈도우 서버세팅을 마쳤다는 가정 하에 글을 쓴다.

윈도우 서버 세팅이 되지 않은 사용자는 본 글 최 상단에 있는 [rSync] 윈도우와 리눅스 간 폴더 동기화 시스템 구축 [1]을 읽고 오기를 권장한다.


들어가기 앞서 시스템 사양을 간단하게 설명한다.


테스트를 위해 라즈베리파이를 이용하였으며, 접속을위해 putty를 이용했다. 

우분투 기반의 시스템이라면 문제없이 동작한다.


rSync는 리눅스가 설치되면 자동으로 설치되므로 따로 설명은 하지 않겠다.


rSync가 설치되어 있지 않은 시스템일 시 구글에 rSync 설치방법 검색을 하면 많이 나온다.


폴더 동기화 시스템 구축을 위해 rSync를 위한 쉘스크립트를 작성한다.


vi rsync_cron.sh 명령어를 이용하여 간단한 쉘 스크립트를 작성한다.




rsync_cron.sh


rsync -avzu 192.168.0.1::test /home/pi/rsyncTest/



위와같이 쉘 스크립트를 작성한다


[ 192.168.0.1::test ] 는 [rSync] 윈도우와 리눅스 간 폴더 동기화 시스템 구축 [1] 에서 작성한 key값과 서버 IP주소이다.

[ /home/pi/rsyncTest/ ] 는 윈도우 폴더를 복사하여 동기화 할 폴더명이다.



rSync 옵션


-v 진행상황을 상세히 보여줌 

-r 지정한 디렉토리의 하위 디렉토리까지 재귀적으로 실행 

-l 소프트링크 보존 

-H 하드링크 보존 

-p 버전속성 보존 

-o 소유속성 보존(루트) 

-g 그룹속성 보존 

-t 타임스탬프 보존 

-D 디바이스 파일보존(루트) 

-z 데이터압축 전송 

-u 추가된 파일만 전송 

-b 낡은 파일은 ~가 붙음 

-u 새로운 파일을 덮어쓰지 않음 

-c 서버와 클라이언트 파일크기를 세밀히 체크 

-e ssh(rsh) 전송암호화 

--existing : 추가된 파일은 전송하지않고 갱신된 파일만 전송 

--delete : 서버에 없는 파일은 클라이언트에서도 삭제 

--exclude 'PATTERN' : 패턴과 맞는 파일만 전송 

--stats : 결과를 보고 

--daemon : 대몬모드로 운영함(이건 inetd.conf에 지정할 때 필요함)



sudo sh rsync_cron.sh 명령어를 이용하여 작성한 쉘 스크립트를 실행해본다.






파일 동기화가 되며 파일사이즈 등 정보가 표시된다.

동기화가 안될 시 쉘스크립트 혹은 서버 정보 및 윈도우 방화벽으로 인하여 실패할 수 있다.

오류가 난다면 위 세가지를 확인해보기 바란다.









윈도우와 라즈베리파이의 폴더가 동기화 된것을 볼 수 있다. 폴더 내의 폴더도 함께 동기화 된다.


이로써 rSync 및 쉘스크립트를 이용하여 서버 간 파일 동기화 시스템을 구축했다.


다음 글에서는 rSync 및 쉘스크립트, crontab을 이용하여 지정된 분/시간에 윈도우 서버와 리눅스 클라이언트 간 파일 동기화를 자동으로 할 수 있는 시스템을 구축한다.




반응형
Comments