使用lsyncd实时同步目录到远程主机-Linux

Lysncd洋文全称Live Syncing Daemon,它是开源的数据实时同步工具(后台进程),基于inotify和rsync。 它通过时间延迟或累计触发事件次数解决海量文件同步带来的文件频繁发送文件列表的问题。

Lsyncd is designed to synchronize a local directory tree with low profile of expected changes to a remote mirror. Lsyncd is especially useful to sync data from a secure area to a not-so-secure area.

Linux安装lsyncd

一般Linux发行版默认仓库都有这个软件包,如果你使用的Linux发行版没有这个包,你只能从源码编译安装了。

lsyncd配置示例文件:

使用lsyncd 实时同步远程主机目录-Linux

上面是使用lua写的示例配置文件,我们需要创建自己的配置文件,lsyncd会解释执行这些配置。

lsyncd本地目录同步

首先我们来看一下怎么同步两个本地目录。

创建一个需要同步的目录 (源目录):

创建一个备份目录(目标目录):

创建日志文件(帮助我们跟踪调试):

创建lsyncd配置文件:

写入内容:

启动lsyncd服务:

在lsyncd服务启动之前backup目录中没有任何文件,一旦启动lsyncd服务,backup会实时同步source_dir目录内容:

使用lsyncd 实时同步远程主机目录-Linux

lsyncd远程目录同步

如果目标目录在远程主机上,我们首先需要确保远程主机可通过ssh root登陆(使用ssh密码,无密码)。

登陆到远程主机:

生成ssh密钥:

把生成的远程主机密钥拷贝到本地,在本地主机执行:

现在本地主机应该能不用密码登陆远程主机了。

配置文件内容(源目录主机运行lsyncd):

重启lsyncd服务。

上面只是lsyncd最基本的配置,更多配置参看:/usr/share/doc/lsyncd/examples/、https://github.com/axkibe/lsyncd

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注