lsyncd 和 rsync 的附加参数

s1c*_*s1c 5 rsync

目前我使用 lsyncd 来监视数据并同步它们(同一台机器)

 settings{
    logfile      = "/var/log/lsyncd/lsyncd.log",
    statusFile   = "/var/log/lsyncd/lsyncd_status.log",
    maxDelays    = 10,
    maxProcesses = 15,
 }

sync{
default.rsync,
source="/home/user/data/source_data/",
target="/home/user/data/synced_data/",
delete=false,
rsyncOpts={
"--remove-source-files",
"--delay-updates",
"--checksum"
}
}
Run Code Online (Sandbox Code Playgroud)

问题是我无法传递 rsync 的这些参数(删除源文件、延迟更新和校验和)

我使用 lsyncd 2.1.4

这是错误:

Starting lsyncd: Error: error preparing /etc/lsyncd.conf: Parameter "rsyncOpts" unknown. (if this is not a typo add it to checkgauge)
Run Code Online (Sandbox Code Playgroud)

小智 4

基于2.1.x 版本文档的信息。基于此,您的同步部分应如下所示:

sync{
    default.rsync,
    source="/home/user/data/source_data/",
    target="/home/user/data/synced_data/",
    delete=false,
    rsync={
        checksum = true,
        _extra = { "--remove-source-files", "--delay-updates" }
        }
    }
Run Code Online (Sandbox Code Playgroud)

我假设您知道这个额外的 rsync 参数的作用。尤其--remove-source-files

此 _extra参数基于lsyncd. rsync如果有效的话你应该亲自尝试一下。