目前我使用 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"
}
}
问题是我无法传递 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)
答案1
信息基于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" }
}
}
我假设您知道这个额外的 rsync 参数的作用。尤其--remove-source-files
。
lsyncd
此 _extra参数基于rsync
.如果有效的话你应该亲自尝试一下。
答案2
rsyncOpts 不是有效的指令。
应该是这样的:-
rsync = {
links = true,
archive = true,
delete = false,
compress = true,
verbose = true,
_extra = {"--omit-dir-times","-e ssh -i /root/lsync/source_rsa","--progress"}
}