현재 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"}
}