search
LoginSignup
70

More than 5 years have passed since last update.

posted at

updated at

CentOS6.5でlsyncdを動かす

CentOS6.5(x86_64)でlsyncdを動かします。起動スクリプトの修正やバックアップ側でrsyncをデーモンとして動かす必要があるなど設定が難しかったので覚書として設定方法を記載します。

vagrantで以下2つのVMが起動している状態を前提とします。

ホスト IPアドレス
マスター 192.168.33.81
バックアップ 192.168.33.82

インストール

[マスター側]
# RPMForgeリポジトリが無い場合。CentOS6 x86_64用
$ sudo yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

# lsyncd, rsyncインストール
$ sudo yum install lsyncd rsync

[バックアップ側]
# rsyncインストール
$ sudo yum install rsync

lsyncd設定

[マスター側]
# 設定ファイル置き場を作成
$ sudo mkdir /etc/lsyncd

# 同期対象のディレクトリ作成
$ mkdir /home/vagrant/lsyncd_test

# 設定ファイルを作成
$ sudo vi /etc/lsyncd/lsyncd.conf
======================================
----
-- User configuration file for lsyncd.
--
-- Simple example for default rsync.
--
settings {
        logfile    = "/var/log/lsyncd.log",
        statusFile = "/tmp/lsyncd.stat",
        statusInterval = 1,
        maxProcesses = 2,
        nodaemon     = false,
        insist       = 1,
}

sync{
        default.rsync,
        source="/home/vagrant/lsyncd_test",
        target="192.168.33.82::test",
        rsync = {
          _extra = {  "-a" },
        }
}
======================================

# lsyncd起動時のオプション設定ファイル修正
$ sudo vi /etc/sysconfig/lsyncd
======================================
# コメントアウトを外してconfファイルのPATHを/etc/lsyncd/lsyncd.confに修正
* before
#OPTIONS="-pidfile /var/run/lsyncd.pid /etc/lsyncd.conf"

* after
OPTIONS="-pidfile /var/run/lsyncd.pid /etc/lsyncd/lsyncd.conf"
======================================

# スクリプトの不具合修正
$ sudo vi /etc/init.d/lsyncd
======================================
# 23行目付近sourceを追加
* before
/etc/sysconfig/lsyncd

* after
source /etc/sysconfig/lsyncd

# 32行目付近修正
* before
[ -f /etc/lsyncd.conf ] || exit 6

* after
[ -f /etc/lsyncd/lsyncd.conf ] || exit 6
======================================

[バックアップ側]
# 同期用ディレクトリ作成
$ mkdir /home/vagrant/lsyncd_test

# rsyncd.confファイルの作成
$ sudo vi /etc/rsyncd.conf
======================================
uid = root
gid = root
read only = no
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid

[test]
path = /home/vagrant/lsyncd_test
hosts allow = localhost 192.168.33.0/24
hosts deny = *
read only = false
======================================

# デーモンとして起動
sudo /usr/bin/rsync --daemon --config=/etc/rsyncd.conf

lsyncd起動

[マスター側]
# lsyncd起動
$ sudo service lsyncd start

# テストファイル作成
$ touch /home/vagrant/lsyncd_test/testfile

# lsyncdのログを確認
$ tail -f /var/log/lsyncd.log
======================================
# しばらくすると以下の様なログが表示される

Sat Aug  9 03:47:06 2014 Normal: Calling rsync with filter-list of new/modified files/dirs
/testfile
/
Sat Aug  9 03:47:06 2014 Normal: Finished a list after exitcode: 0
======================================


[バックアップ側]
# ファイルが作成されていることを確認
$ ls /home/vagrant/lsyncd_test

リンク

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
70