Centos 7安装lsyncd

lsync主页|官方文档

环境要求

  • rsync
  • 执行lsyncd命令的用户需要能免密码SSH登录B主机(配置方法见下文)。

下载-编译-安装

Debian使用sudo apt-get install lsyncd安装。Centos需要编译安装,步骤如下:

cd ~
mkdir tools
cd tools
wget https://github.com/axkibe/lsyncd/archive/release-2.1.5.tar.gz
sudo yum -y install lua lua-devel pkgconfig gcc asciidoc
sudo yum install binutils gcc
sudo yum install cmake
sudo yum install autoconf
sudo yum install automake
tar -xzvf release-2.1.5.tar.gz
cd lsyncd-release-2.1.5
./autogen.sh 
./configure && sudo make

上面最后一步可能会报/doc安装错误,可忽略。执行./lsyncd -version看看安装是否成功。

lsyncd加入PATH: 编辑~/.bashrc,在末尾添加下面一行, (将~/tools/lsyncd-release-2.1.5/更换为lsyncd命令行所在的目录)

export PATH=$PATH:~/tools/lsyncd-release-2.1.5/

lsyncd的配置

注意: 需要将文件从主机A同步到B时,应在主机A上运行lsyncd

新建配置文件lsync.conf,如下(其中的userb@B-IP为另一台服务器的用户及地址,请按具体环境修改):

settings {
         logfile    = "/tmp/lsyncd-GA.log",
         statusFile = "/tmp/lsyncd-GA.status",
         maxProcesses = 3,
         maxDelays = 20
}


sync {
    default.rsync,
    source    = "/source-dir",
    target    = "userb@B-IP:/remote-target-dir",
    delete = false,
    delay = 10,
    excludeFrom = "/home/path/tools/excluded",
    rsync     = {
        binary   = "/usr/bin/rsync",
        compress = false,
    }
}


sync {
    default.rsync,
    source    = "/another-source/dir",
    target    = "luserb@B-IP:/another/remote-target-dir",
    delete = false,
    delay = 20,
    rsync     = {
        binary   = "/usr/bin/rsync",
        compress = false,
    }
}

常用参数说明(更多参数见官方文档)

  • source 源文件目录
  • target 目标文件目录
  • delete 设为true时, 从本地删除文件后,同时从远程删除文件,默认为true
  • maxProcesses lsyncd能使用的最大进程数
  • delay 有文件变更时,等待此时间后再同步(单位秒)
  • maxDelays 等待同步事件队列的最大长度。超过这个长度时,即使delay的时间未到,也执行同步
  • excludeFrom 忽略文件列表,可使用通配符,内容如下

/target /.git .gitignore *.log *.iml





使用如下命令启动`lsyncd`后台进程:

```bash
lsyncd lsync.conf

SSH免登录访问

请参考ref。

如果无法登录,请确保

  • 远程.ssh目录权限为700
  • 远程.ssh/authorized_keys权限为600
  • 本机.ssh/id_rsa权限为600

转载于:https://my.oschina.net/u/1772293/blog/513067

你可能感兴趣的:(Centos 7安装lsyncd)