숀패밀리

lsync 사용하기

· 2011-12-29 (목) 10:49:43 · 3029
요구환경 
 
kernel 2.6.13 이상 버전
rsync package
libxml2 package
libxml2-devel package
lsync 사용법

lsyncd [OPTION]... [SOURCE] [TARGET 1] [TARGET 2] ...
[SOURCE] => 동기화시 원본이 존제하는 위치 /home/test/
[TARGET X] => 동기화가 필요한 서버 192.168.0.3::HOME/test
[OPTION]
--binary FILE rsync 실행 파일 위치
--conf FILE 실행시 로드할 설정 파일명 (DEFAULT: /etc/lsyncd.conf.xml)
--debug 디버그를 위한 로그
--exclude-from FILE 동기화시 제외시킬 패턴의 옵섭
--logfile FILE 로그 파일위치
--no-daemon 포그라운드로 실행 시킴
--pidfile FILE pid 파일 생성위치


설정방법

슬레이브 서버

rsyncd를 서비스에 추가시켜 rsync접속이 가능하도록 한다

/etc/rsyncd.conf -->

[HOME]
path = /home/test
uid = root
gid = root
use chroot = yes
read only = no                      # 마스터에서 배포시 쓰기가 가능해야 한다
max connections = 4
hosts allow = 192.168.0.1         # 마스터 서버에서만 접속이 가능하도록 설정


위와 같이 마스터서버에서만 rsync 데몬만 이용할수있도록 하며 마스터에서 파일을 슬레이브로 쓰는 형태이므로 쓰기원한을 주어야한다

세팅후 rsync 데몬을 시작한다 .


마스터 서버

데몬 직접 띄우기
# lsyncd /home/test/ 192.168.0.3::HOME/test

설정파일을 이용하여 실행시키기
/etc/lsyncd.conf.xml 파일을 생성하여

<lsyncd version="1">
  <settings>
    <logfile      filename="/var/log/lsyncd"/>
    <binary       filename="/usr/bin/rsync"/>
    <callopts>
      <option text="-az%r"/>
      <option text="--delete"/>
    </callopts>
  </settings>
  <directory>
    <source path="/home/test/"/>
    <target path="192.168.0.2::HOME/"/>
  </directory>
</lsyncd>

설정 파일을 작성하고

/etc/rc.d/init.d/lsyncd 파일을 생성하여

#!/bin/bash
# description: lsyncd auto start script

start() {
  pid=`pidof lsyncd`
  if [ $? -eq 0 ]; then
    echo "lsyncd (pid $pid) is running..."
    echo " "
  else
    echo "Starting lsyncd..."
    echo " "
    /usr/bin/lsyncd
  fi
}


stop() {
  echo "Stopping lsyncd..."
  echo " "

   /bin/kill -9 `/sbin/pidof lsyncd`
   until [ -z $(/sbin/pidof lsyncd) ]; do :; done
}

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    stop
    start
    ;;
  status)
    pid=`pidof lsyncd`
    if [ $? -eq 0 ]; then
      echo "lsyncd (pid $pid) is running..."
      echo " "
    else
      echo "lsyncd is not running"
      echo " "
    fi
  ;;
  *)
  echo "Usage: lsyncd {start|stop|restart|status}"
  exit 1
esac

exit $?


/etc/rc.d/init.d/lsyncd start를 하게 되면 실행된다
|
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
16-03-02 조회 3,230
16-01-19 조회 2,512
15-12-23 조회 2,883
15-12-08 조회 3,641
14-10-30 조회 5,698
14-06-06 조회 5,528
12-08-30 조회 3,885
12-08-20 조회 3,810
12-07-15 조회 5,144
12-07-13 조회 3,619
12-07-06 조회 3,838
12-06-27 조회 3,356
12-06-23 조회 3,549
12-05-03 조회 5,170
12-04-20 조회 4,109
12-03-29 조회 4,601
12-03-22 조회 4,693
12-03-22 조회 3,495
12-03-21 조회 3,270
12-03-11 조회 3,696
12-03-06 조회 4,247
12-02-22 조회 4,513
12-02-17 조회 3,319
12-02-17 조회 6,165
12-02-14 조회 6,108
12-02-06 조회 4,246
12-01-18 조회 3,206
12-01-06 조회 3,430
11-12-30 조회 3,894
11-12-30 조회 7,043
11-12-21 조회 3,257
11-12-21 조회 4,232
11-12-16 조회 3,261
11-12-15 조회 3,309
11-12-15 조회 3,408
11-12-15 조회 4,207
11-12-09 조회 3,218
11-12-09 조회 3,295
11-12-07 조회 2,862
11-12-07 조회 3,948
11-12-05 조회 4,403
11-12-02 조회 3,849
11-12-01 조회 2,718
11-12-01 조회 2,759
11-12-01 조회 2,741