Skip to content

CHICPRO

  • Life Log
  • Cycling Log
  • Photo Log
    • Portrait
    • Landscape
    • Flower
    • Etc
  • Coding Log
  • Information

lsyncd 설정

2014-03-07 by 편리

서버 파일의 실시간 동기화에 사용되는 lsyncd를 이용해 파일 동기화 설정을 했다. lsyncd는 rsync를 이용해 파일이 추가되면 거의 실시간으로 백업 서버에 파일이 백업된다. lsyncd는 리눅스 커널의 inotify로 파일시스템의 변경사항을 체크하여 변경사항이 생기면 rsync를 호출하여 백업 서버로 동기화 하는 데몬이다.

1. lua 설치

# yum install lua

lsyncd는 설정 파일에 lua 언어의 문법을 사용한다. 따라서 lua 패키지를 설치한다.

2. lsyncd 설치

# yum install lsyncd

만약 yum repo 리스트에 epel 리스트가 없으면 설치가 되지 않는다. 아래와 같이 epel repo를 설치한다.

# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

위는 centos6 64비트 epel repo를 설치한 것이다. 버전이 다르다면 그 버전에 맞게 설치를 해줘야 한다.

3. rsync 설정은 백업 서버에서 해준다. 설정법은 이전 포스트 https://chicpro.dev/10831 를 참고하면 된다. 다만 rsync.conf 파일 설정에서 마스터 서버에서 백업서버로 파일을 동기화하는 것이므로 쓰기 권한이 있어야 한다. 아래와 같이 read only 설정을 no 로 변경한다.

[www1-data]
comment = www1 data backup
path = /home/www/data
uid = nobody
gid = nobody
use chroot = yes
read only = no
host allow = 192.168.1.126
max connections = 5
timeout = 60

4. lsyncd 설정

# vi /etc/lsyncd.conf

settings {
     logfile = "/var/log/lsyncd/lsyncd.log",
     statusFile = "/var/log/lsyncd/lsyncd-status.log"
}
sync {
    default.rsync,
    source="/home/sir/data/",
    target="192.168.0.3::www1-data",
    delete="false",
    exclude={ "session" },
    rsync = {
        binary = "/usr/bin/rsync",
        compress = false,
        archive = true,
        verbose = true
    }
}

서버 환경에 맞게 적절히 설정은 수정한다.  설정 항목 중 192.168.0.3::www1-data 는 백업 서버의 ip와 rsync.conf 에서 설정한 서비스 이름이다.

5. lsyncd 시작

# service lsyncd start

더미 파일을 생성하여 동기화 테스트를 해본다. 만약 정상적으로 동기화가 되지 않는다면 /var/log/lsyncd/lsyncd.log 파일에서 로그를 확인하여 수정해야 한다. 실제로 테스트를 해보니 실시간으로 동기화가 되지는 않는 것 같다. 추가적인 설정이 있는 것인지 모르겠으나 보통 10 ~ 20초 정도의 딜레이가 있는 듯 하다. 테스트한 서버의 문제일 수 있다. 추가적으로 lsyncd 설정에서 동일 서버에서 백업을 실행한다면 아래와 같이 lsyncd.conf 파일을 설정하면 된다.

settings {
     logfile = "/var/log/lsyncd/lsyncd.log",
     statusFile = "/var/log/lsyncd/lsyncd-status.log"
}
sync {
    default.direct,
    source="/home/www/data/",
    target="/backup/www/data/",
    delete="false",
    exclude={ "session" }
}

데이터 백업때문에 정말 많은 자료를 찾아보는 것 같다. 아직도 갈 길이 너무도 먼 서버관리.. 흐~

lsyncd 문서 : https://github.com/axkibe/lsyncd/wiki/Manual-to-Lsyncd-2.1.x

Post navigation

Previous Post:

월요일부터 술은..

Next Post:

KT 개인정보 유출 확인

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Recent Posts

  • php 배열 연산에서 + 와 array_merge 의 차이
  • pcntl_fork 를 이용한 다중 프로세스 실행
  • 아이폰 단축어를 이용하여 주중 공휴일엔 알람 울리지 않게 하기
  • 구글 캘린더 전체일정 재동기화
  • OpenLiteSpeed 웹서버에 HTTP 인증 적용
  • OpenLiteSpeed 웹어드민 도메인 연결
  • WireGuard를 이용한 VPN 환경 구축
  • Ubuntu 22.04 서버에 OpenLiteSpeed 웹서버 세팅
  • 맥 vim 세팅
  • 우분투 시스템 터미널쉘 zsh 로 변경

Recent Comments

  • 편리 on 업무관리용 그누보드 게시판 스킨
  • 임종섭 on 업무관리용 그누보드 게시판 스킨
  • 캐논 5D 펌웨어 | Dslr 펌웨어 업그레이드 방법 82 개의 베스트 답변 on 캐논 EOS 30D 펌웨어 Ver 1.0.6 , EOS 5D 펌웨어 Ver 1.1.1
  • Top 5 캐논 5D 펌웨어 Top 89 Best Answers on 캐논 EOS 30D 펌웨어 Ver 1.0.6 , EOS 5D 펌웨어 Ver 1.1.1
  • 편리 on 워드프레스 애니메이션 gif 파일을 mp4로 변환하여 출력하기
  • 임팀장 on 워드프레스 애니메이션 gif 파일을 mp4로 변환하여 출력하기
  • 편리 on Notepad++ NppFTP 플러그인 수동 설치
  • paul-j on Notepad++ NppFTP 플러그인 수동 설치
  • YS on Windows 10 iCloud 사진 저장 폴더 변경
  • 편리 on Docker를 이용한 Centos7 + httpd + php 5.4 개발환경 구축

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org
© 2025 CHICPRO | Built using WordPress and SuperbThemes