Lsyncd是什么?
Lsyncd是一种轻量级的实时文件备份解决方案,非常容易安装和使用。
可以用来同步两天机器之间的文件。
更多使用方案可参阅: https://github.com/axkibe/lsyncd
安装
brew install lsyncd
brew install rsync
配置文件
~/MyApp/sync.lua
settings {
logfile = "/var/log/lsyncd.log", --日志路径
statusFile = "/var/log/lsyncd.status", --状态文件
pidfile = "/var/run/lsyncd.pid", --pid文件路径
statusInterval = 1, --状态文件写入最短时间
nodaemon = true, --daemon运行
maxProcesses = 1, --最大进程
maxDelays = 1, --最大延迟
insist=true,
}
sourceList = {}
sourceList['/Users/hncg/MyApp/service'] = '/home/cg/MyApp/service'
sourceList['/Users/hncg/MyApp/sites.d'] = '/home/cg/MyApp/sites.d'
for from_source, target_source in pairs(sourceList) do
sync {
default.rsync,
source = from_source,
delete = true,
target = "cg@x.x.x.x:"..target_source,
exclude = {".idea/*",".git/*","assets/*","node_modules/*","runtime/*","tmp/*","__pycache__/*"},
rsync = {
binary = "/usr/local/bin/rsync",
-- binary = "/usr/bin/rsync",
archive = true,
compress = true,
bwlimit = 2000,
rsh = "ssh -i /Users/hncg/.ssh/id_rsa"
-- rsh = "/usr/bin/ssh -p 22 -o StrictHostKeyChecking=no"
-- 如果要指定其它端口,请用上面的rsh
}
}
end
运行
sudo lsyncd ~/MyApp/sync.lua
提示
rsync可不安装,binary配置选择注释的那行即可。
brew install lsyncd 安装之后默认,rsync默认会安装到/usr/bin/rsync。
但是可能会报错 'rsync: -pstglozD: unknown option',应该是版本的问题。
所以解决方案是自己再通过 brew install rsync 安装一个rsync。
brew install rsync默认会安装到/usr/local/bin/rsync。