centos7.5实时同步文件rsync+lsyncd(代替rsyncd+inotify)
单向同步
主服务器: 192.168.131.219
从服务器: 192.168.131.220
要求:主服务器目录 soft 发生变动(增/删/改)
从服务器目录 soft实时自动同步(好像有15秒延迟)
(默认关闭防火墙和selinux)
一.主服务器配置免密登陆
1.ssh-keygen (连续按三次回车,最终结果如图)
- 把钥匙发给从服务器
ssh-copy-id -i .ssh/id_rsa.pub root@192.168.131.220
3.测试是否能够登陆从服务器
ssh 192.168.131.220 登陆成功界面如图
退出回到主服务器
二、从服务器安装、配置并启动rsync
1.安装
yum install -y rsync
2.配置
vim /etc/rsyncd.conf
3.启动并加入开机自启
启动 rsync --daemon
开机自启 方法1: echo ‘rsync --daemon’ >> /etc/rc.local
方法2: vi /etc/rc.local 在最下面加入 rsync --daemon
(chmod -R 755 /etc/rc.d/rc.local 注意给权限,我给的是755)
ps -ef|grep rsync 可以查看rsync是否启动
三、主服务器安装 lsyncd
1.安装依赖包
yum install -y lua lua-devel
2 安装 lsyncd
yum install -y epel-release
yum install -y lsyncd
3.修改 lsyncd配置文件
vi /etc/lsyncd.conf
#是说明,你们别写进去了,sync是一台从机,你们有几台,就复制粘贴几个sync,然后改下IP就行
settings{
logfile="/var/log/lsyncd/lsyncd.log",
statusFile="/var/log/lsyncd/lsyncd.status",
}
(复制下面6行,有2台就有2个sync)
sync {
default.rsyncssh,
source="/root/soft",
host=“192.168.131.220”,
targetdir="/root/soft",
}
4.重启 lsyncd
systemctl restart lsyncd
systemclt status lsyncd 查看lsyncd是否启动成功
systemctl enable lsyncd 加入开机自启
5.测试是否同步
- 看刚开始的图,从服务器是没有 soft 文件的,现在我们在主服务器的soft里面建立5个txt文档
touch {1…5}.txt
2.我们切换到从服务器,看,文件过来了
3.现在我们去主服务器删除掉1.txt,然后加点内容给 2.txt,接着上传个文件,看下是否同步
4.实验完成