リアルタイムミラーリングツール導入(Lsync+Rsync)(CentOS7)
提供:あわ自由帳
メインページ > CentOS 7 で自宅サーバー構築 > リアルタイムミラーリングツール導入(Lsync+Rsync)(CentOS7)
Rsync + Lsync でファイル/ディレクトリに変更があった場合にリアルタイムに同期するよう設定します。
+----------------------+ | +-----------------------+ | host3.sudachi.jp |192.168.1.3 | 192.168.1.41| host4.sudachi.jp | | +------------+-------------+ | | /backup/* | ------------------> | /home/backup/* | +----------------------+ copy +-----------------------+
コピー先ホストの設定
インストール
[root@host4 ~]# yum -y install rsync
設定
[root@host4 ~]# mkdir /home/backup [root@host4 ~]# vi /etc/rsyncd.conf # 任意の名前 [backup] # コピー先対象ディレクトリ path = /home/backup # 接続を許可するホスト(コピー元ホストを指定) hosts allow = 192.168.1.3 hosts deny = * list = true uid = root gid = root read only = false
起動
[root@host4 ~]# systemctl start rsyncd [root@host4 ~]# systemctl enable rsyncd [root@host4 ~]# systemctl status rsyncd ● rsyncd.service - fast remote file copy program daemon Loaded: loaded (/usr/lib/systemd/system/rsyncd.service; enabled; vendor preset: disabled) Active: active (running) since 日 2016-01-10 16:02:00 JST; 1h 3min ago Main PID: 3021 (rsync) CGroup: /system.slice/rsyncd.service └─3021 /usr/bin/rsync --daemon --no-detach
コピー元ホストの設定
ファイル/ディレクトリに変更があった場合にリアルタイムに同期するよう設定します。
EPEL からインストール
[root@host3 ~]# yum --enablerepo=epel -y install lsyncd
ホストの設定
[root@host3 ~]# vi /etc/lsyncd.conf -- sync{default.rsyncssh, source="/var/www/html", host="localhost", targetdir="// tmp/htmlcopy/"} ← コメントにする # 以下、追記 settings{ statusFile = "/tmp/lsyncd.stat", statusInterval = 1, } sync{ default.rsync, source="/backup/", ← ミラー元ディレクトリ指定 target="192.168.1.4::backup", ← ミラー先のホスト名/IPアドレス:(rsyncd.confで設定した名前) excludeFrom="/etc/rsync_exclude.lst", ← ミラー除外リスト }
コピー除外リスト
コピー元の対象ディレクトリ内から、コピーを除外するファイル/ディレクトリを記述(相対パス)
[root@host3 ~]# vi /etc/rsync_exclude.lst - mysql
起動
[root@host3 ~]# systemctl start lsyncd [root@host3 ~]# systemctl enable lsyncd [root@host3 ~]# systemctl status lsyncd ● lsyncd.service - Live Syncing (Mirror) Daemon Loaded: loaded (/usr/lib/systemd/system/lsyncd.service; enabled; vendor preset: disabled) Active: active (running) since 日 2016-01-10 16:11:05 JST; 35min ago Main PID: 17163 (sh) CGroup: /system.slice/lsyncd.service ├─17163 /usr/bin/sh -c eval `/usr/bin/lsyncd -nodaemon $LSYNCD_OPTIONS /etc/lsyncd.conf` ├─17164 /usr/bin/sh -c eval `/usr/bin/lsyncd -nodaemon $LSYNCD_OPTIONS /etc/lsyncd.conf` └─17165 /usr/bin/lsyncd -nodaemon /etc/lsyncd.conf