rsyncの設定
ファイル送信元で鍵を作ります。
$ ssh-keygen -t rsa -N "" -C "rsync_id_rsa" -f ~/.ssh/id_rsa.rsync
公開鍵(.ssh/id_rsa.rsync.pub)をファイル送信先の ~/.ssh/authorized_keys に追記する。
ファイル送信元から作成した鍵を使って送信先にSSHでつながることを確認します。
$ ssh -i ~/.ssh/id_rsa.rsync 172.31.45.71
ファイル転送ができることを確認します。
$ mkdir share
$ echo "Apple" > share/test.txt
$ rsync -av -e "ssh -i ~/.ssh/id_rsa.rsync" ~/share/ centos@172.31.45.71:/home/centos/share/
lsyncd の設定
ファイル転送先にlsyncdを入れます。
$ sudo yum install epel-release
$ sudo sed -i -e "s/enabled=1/enabled=0/" /etc/yum.repos.d/epel.repo
$ sudo yum --enablerepo=epel install lsyncd
$ sudo mv /etc/lsyncd.conf /etc/lsyncd.conf.org
$ sudo cp -p /etc/lsyncd.conf.org /etc/lsyncd.conf
$ sudo vi /etc/lsyncd.conf
-----
settings {
logfile = "/var/log/lsyncd/lsyncd.log",
statusFile = "/var/log/lsyncd/lsyncd.status",
}
sync{
default.rsync,
source = "/home/centos/share/",
target = "centos@172.31.45.71:/home/centos/share/",
delete = true,
delay = 1,
rsync = {
rsh = "/usr/bin/ssh -i /home/centos/.ssh/id_rsa.rsync -o UserKnownHostsFile=/home/centos/.ssh/known_hosts"
}
}
-----
$ sudo systemctl enable lsyncd
$ sudo systemctl start lsyncd
$ sudo systemctl status lsyncd
ファイルが同期されることを確認します。
$ echo "Ball" > share/test2.txt
$ echo "Cat" > share/test3.txt
$ rm share/test.txt
ファイル送信先で、test2.txt, test3.txt が追加され、test.txtが削除されているはずです。
参考情報
https://qiita.com/trisland/items/09ad116b6a477d979f53