You need to enable JavaScript to run this app.
导航
lsyncd+rsync实现服务器文件实时同步
最近更新时间:2024.01.02 16:01:07首次发布时间:2024.01.02 16:01:07

本文介绍 Centos 使用 lsyncd+rsync 实现服务器文件实时同步。

前言

本文档介绍如何使用lsyncd+rsync实现服务器文件实时同步。

关于实验
  • 预计部署时间:60分钟
  • 级别:中级
  • 相关产品:ECS
  • 受众: 通用
实验说明

需要再不同region创建挂载了EIP的实例,具体方法请参考官方文档:https://www.volcengine.com/docs/6396/67743

前置条件
操作步骤

步骤一:安装lsyncd以及rsync软件包

假设北京 Region 实例为 A,广州实例为 B ,A 同步数据到 B 。

  1. A:安装lsyncd+rsync。
yum install lsyncd rsync -y
 
  1. B 和 C 只需要安装rsync服务即可。
yum install rsync -y
 

步骤二:配置lsyncd服务

  1. 创建配置文件:vim /etc/lsyncd.conf
  2. 下面是一个简单的配置文件示例,这里是将本机的/home目录同步到192.168.1.10这台机器的/home目录下。
sync {
   default.rsyncssh,
   source="/home",
   host="root@192.168.1.10",
   excludeFrom="/etc/lsyncd.exclude",
   targetdir="/home",
   rsync = {
     archive = true,
     compress = false,
     whole_file = false
   },
   ssh = {
     port = 22
   }
}
  1. 配置项目说明:
  • 当服务启动时,将自动创建“logfile”和“statusFile”。
  • "statusInterval"是写入状态文件之前要等待的秒数。
  • maxProcesses”是允许生成的进程数量 lsyncd。 如何同步数据不是特别大,一个进程就足够了。
  • 在同步部分中,"default.rsyncsh"表示通过 ssh使用 rsync。
  • "source=" 是我们同步的源目录路径。
  • "host="是我们同步的目标机。
  • "exclustideFrom="告诉 lsyncd 哪些文件排除在外。 它必须存在,但可以为空。
  • "targetdir="是我们发送文件到的目标目录。
  • "rsync ="部分,此处为rsync相关配置选项。
  • 最后,我们有"ssh ="部分,这个部分指定了正在监听目标机器的 SSH 端口。
    如果要添加
  1. lsyncd.exclude文件
    lsyncd.exclude文件为必选项,需要手动创建文件touch /etc/lsyncd.exclude,如果在同步的时候要排除相关文件或者目录则在lsyncd.exclude中添加相关内容,示例如下。
/etc/hostname
/etc/hosts
/etc/networks
/etc/fstab

启动lsyncd服务

lsyncd -log Exec /etc/lsyncd/lsyncd.conf