settings {
inotifyMode = "CloseWrite",
maxProcesses = 8,
statusInterval = 10,
statusFile = "/tmp/lsyncd.status",
logfile = "/var/log/lsyncd/lsyncd.log",
}
sync {
default.rsync,
source = "/mnt/d/123",
target = "192.168.1.100::123",
delay = 15,
init = false,
rsync = {
binary = "/usr/bin/rsync",
archive = true,
compress = true,
verbose = true,
_extra = {"--bwlimit=200"}
}
}
是因為sync監控的資料匣有容量的限制嗎?
有辦法變更為沒有限的嗎?
測試sync底下的目路資料匣在42.8G時還正常,只要在塞300MB的資料(裡面有幾百個檔案)到裡面去做同步,服務立馬繃
但是塞一個300MB軟體的安裝檔卻不會崩,我在想是不是sync監控的檔案有上限?
lsyncd 是依靠 kernel 內建的檔案監測功能 inotify,來回報記錄檔案狀態,而 inotify 預設有可監測資料夾數量的限定值。可以用:
cat /proc/sys/fs/inotify/max_user_watches
檢查你的系統上限是多少?
在 CentOS 7.9 內,它預設值是 8192,也就是它只能監測最多 8192 個資料夾。
你可以:
cat /tmp/lsyncd.status
找出她裡面的: Inotify watching xxxx directories 這行
就可以知道到底目前用掉了多少數量?
請教一下既然是預設,那如何提高監測資料夾數量?
這是 Linux 系統管理員 (System Administrator) 的基本技能, 一般通過 RHCE 或其他 Linux 認證考試的管理員, 應該會知道要怎麼改.
萬一你的技術層級還不到系統管理員程度的話, 請參考此篇:
https://blog.twshop.asia/the-current-inotify7-watch-limit-is-too-low/
成功了~~~~(泣)
這東西我土法煉鋼,測試檔案容量,空間容量,檔案格式一直測到後面才縮小範圍為,lsyncd監控的邏輯是數量,搞了三天了都想不出答案,頭都快炸了!
非常感謝raytracy大神的救援