首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

lsyncd 实现文件同步

lsyncd 实时文件同步

当我们需要把代码部署到多台服务器上做load balancing的时候,两三台机器还好,直接一个一个 ftp copy 上去,如果服务器较多这样操作就不现实了。一个简单的办法,使用lsyncd来实现多台服务器间文件同步。

lsyncd 封装了inotify和rsync

lsyncd github地址:https://github.com/axkibe/lsyncd

1.安装lsyncd

首先在每台需要同步的服务器上安装 lsyncd

Debian/Ubuntu

CentOS

2.ssh-keygen

用 ssh-keygen 生成一对 秘钥,不键入密码,两个回车,生成的密钥对位置在

cd ~/.ssh 目录下:id_rsa, id_rsa.pub , 这时候把生成的公钥密码 id_rsa.pub 内容copy到需要同步的 server 的 cd ~/.ssh authorized_keys 里

3.配置config /etc/lsyncd.conf

进入需要同步的一台主服务器,在 lsyncd.conf 配置文件里添加如下信息

上面的配置信息有三段,第一段是设置每隔10秒记录 log 日志,log 的位置放置在 /tmp 路径下。第二段是需要同步的服务器列表,这里为了安全起见可以配置内网的 IP 地址。第三段是一个for循环,遍历循环需要同步的服务器地址,并把 source 配置路径下的内容同步到 targetdir 配置的位置 ,最后一个属性是 ssh 的端口号。

配置好 lsyncd.conf 文件并保存。 进入需要同步文件的主服务器,拷贝一个文件进去, 这个后我们登录 需要同步的服务器,会在配置的目标文件夹下面看到已经同步过来的文件。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181231G0T6W300?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券