怎样使用 lsyncd 同步文件

介绍

我们已经讨论过使用诸如 rsync 之类的工具来管理系统备份,但是如果您有多个远程计算机,还有另一个“问题”必须解决:同步。
在这篇文章中,我们将讨论 同步,一个守护进程,使您能够将目录镜像到网络上的任何其他目录,甚至是本地目录。 出于性能目的,它仅将更改镜像到您的目录。

安装

如果您使用 Ubuntu,您会在存储库中找到它:

# apt install lsyncd

如果您是 RHEL/CentOS/Fedora 用户,那么您必须先启用 EPEL。 然后:

# yum install lsyncd

安装后,您将在

/usr/share/doc/lsyncd/examples/

或在

/usr/share/doc/lsyncd-VERSION/examples/

,取决于您使用的是 Ubuntu 还是基于 RedHat 的发行版。

配置本地同步

因此,为了测试,让我们尝试使用 lsyncd 进行本地同步。
首先,让我们创建一个“源文件夹”,其中包含我们要同步的文件。

$ mkdir -p $HOME/unixmen/sync_source

然后,我们将创建一个备份文件夹:

$ mkdir $HOME/sync_backup

仅用于测试,使用零长度文件填充源目录,使用 触摸命令

touch $HOME/unixmen/sync_source/unixmentest{1..10}0

现在,制作日志和状态文件:

# mkdir /var/log/lsyncd
# touch /var/log/lsyncd.{log,status}

配置文件继续

/etc/lsyncd

# mkdir /etc/lsyncd

在那里,我们将创建一个新的配置文件:

# nano /etc/lsyncd/lsyncd.conf.lua

我们将放置以下代码的位置:

settings = {
logfile = "/var/log/lsyncd/lsyncd.log",
statusFile = "/var/log/lsyncd/lsyncd.status"
}

sync {
default.rsync,
source = "$HOME/unixmen/sync_source/",
target = "$HOME/sync_backup",
}

现在,如果您查看备份目录,您会发现它是空的,因为该服务没有运行。
但是,要解决此问题,只需使用以下命令重新启动 lsyncd:

# systemctl restart lsyncd

即使您在sync_source 上添加更多文件,它也会开始(并保持)同步。 它完全在自动化模式下工作。

结论

以类似的方式,您可以同步远程文件,不同之处在于您将使用 SSH,并且在 conf 文件中略有不同。
有很多例子,你可以在

/usr/share/doc/lsyncd/examples/

,或只是 lsyncd 文档。 同步快乐!