lsyncd와 rsync를 사용하여 실시간 동기화를 설정하는 방법
lsyncd와 rsync를 사용하여 실시간 동기화를 설정하는 방법
1. lsyncd 설치
먼저 lsyncd를 시스템에 설치해야 합니다. Ubuntu/Debian 기반 시스템에서는 다음 명령어를 사용할 수 있습니다.
sudo apt-get install lsyncd
CentOS/RHEL 기반 시스템에서는 다음 명령어를 사용할 수 있습니다.
sudo yum install lsyncd
2. rsync 설정
lsyncd는 rsync를 기반으로 동작하기 때문에 rsync가 시스템에 설치되어 있어야 합니다. rsync가 설치되어 있는지 확인하고, 없다면 설치해야 합니다. Ubuntu/Debian 기반 시스템에서는 다음 명령어로 rsync를 설치할 수 있습니다.
sudo apt-get install rsync
CentOS/RHEL 기반 시스템에서는 다음 명령어로 rsync를 설치할 수 있습니다.
sudo yum install rsync
3. lsyncd 설정 파일 작성
lsyncd를 사용하여 동기화할 파일 및 디렉토리, 동기화 방법 등을 설정해야 합니다. 설정 파일은 Lua 스크립트 형식으로 작성됩니다. 예를 들어, /etc/lsyncd.conf.lua에 다음과 같은 내용을 작성할 수 있습니다.
vim /etc/lsyncd.conf.lua
settings {
logfile = "/var/log/lsyncd.log",
statusFile = "/var/log/lsyncd.status"
}
sync {
default.rsync,
source = "/path/to/source",
target = "/path/to/target",
rsyncOpts = "-avz",
delay = 1,
delete = true,
exclude = { ".git", "tmp/" }
}
위 예시에서는 /path/to/source 디렉토리의 변경사항을 /path/to/target 디렉토리로 실시간으로 동기화합니다. rsyncOpts는 rsync 명령에 추가로 전달되는 옵션을 설정합니다. delay는 변경 감지 주기를 설정하며, delete는 삭제된 파일도 동기화할지 여부를 설정합니다. exclude는 동기화에서 제외할 파일이나 디렉토리를 설정합니다.
4. lsyncd 실행
설정 파일을 작성한 후 lsyncd를 실행해야 합니다. 다음 명령어로 lsyncd를 실행할 수 있습니다.
sudo lsyncd /etc/lsyncd.conf.lua
lsyncd가 실행되면 설정 파일에 지정한 대로 파일 및 디렉토리가 실시간으로 동기화됩니다. 변경사항은 로그 파일(/var/log/lsyncd.log)에 기록됩니다.
이와 같이 lsyncd와 rsync를 함께 사용하여 실시간 동기화를 구성할 수 있습니다. lsyncd는 파일 변경을 감지하고 rsync를 사용하여 변경된 파일을 동기화합니다. 이를 통해 파일 및 디렉토리를 지속적으로 동기화할 수 있습니다.