两台linux服务器实现文件同步(rsync+inotify)

该博客介绍了如何在两台Linux服务器之间实现文件同步,主要使用了rsync和inotify-tools。首先在主服务器上下载并安装rsync和inotify-tools,配置SSH免密登录,然后编写inotify.sh脚本来监听/home/yy/test目录的变化,并通过rsync将修改同步到备份服务器的/home/uu/test目录。备份服务器同样需要安装rsync并启动rsyncd服务。

两台linux服务器实现文件同步

实现主服务器上的/home/yy/test目录的文件和备份服务器上的/home/uu/test目录实时同步

主服务器配置

1.下载rsync
mkdir /home/yy
cd /home/yy
wget https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz
tar -zxvf rsync-3.1.2.tar.gz
2.安装gcc
yum -y install gcc
3.安装rsync
cd rsync-3.1.2/
./configure
make
make install
5.设置免密同步

使用SSH免密操作,生成公钥和私钥

ssh-keygen -t rsa -P ""

把生成的公钥发送给备份主机

ssh-copy-id root@192.168.107.131
4.安装inotify-tools
cd ..
wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
tar zxvf inotify-tools-3.14.tar.gz
cd inotify-tools-3.14/
./configure
make & make install

检查/usr/local/bin/目录下是否新增两个文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PR6Q4Kpg-1666170145738)(C:\Users\yy\AppData\Roaming\Typora\typora-user-images\image-20221019154902769.png)]

5.编写inotify.sh脚本文件
cd /home/yy
touch inotify.sh
vim inotify.sh
/usr/local/bin/inotifywait -mrq -e modify,delete,create,attrib,move /home/yy/test/ |while read events
do
        rsync -av --delete /home/yy/test/ root@192.168.107.131:/home/uu/test/
        echo "`date +%F\ %T`出现事件$events" >> /var/log/rsync.log 2>&1
done
6.添加可执行权限并执行

inotify.sh脚本文件添加可执行权限

chmod +x inotify.sh
./inotify.sh &

备份服务器配置

1.下载rsync
cd /home/yy
wget https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz
tar -zxvf rsync-3.1.2.tar.gz
2.安装gcc
yum -y install gcc
3.安装rsync
./configure
make
make install
4.启动rsyncd服务
systemctl start rsyncd

监听端口号

netstat -tnlp | grep rsync
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值