是否可以只使用lsyncd同步一个文件?

时间:2014-03-13 10:21:44

标签: macos sync rsync

我真的很难过 - 我花了差不多两个小时寻找一个非常简单的问题的答案:我怎么能在我的mac上连续保持两个本地文件同步?我调查了涉及rsync的各种技巧,然后决定使用lsyncd

但是对于我的生活,我无法弄清楚如何让lsyncd同步两个特定文件。 API甚至支持这个吗?文档中不清楚我是否可以这种方式使用rsync;我假设lsyncd正在传递阻止这种情况的CLI选项。我的配置如下:

sync = {
    default.rsync,
    source = "/Users/username/Downloads/test1.txt",
    target = "/Users/username/Downloads/test2.txt",
    rsync = {
        binary = "/usr/local/bin/rsync",
        archive = "true"
    }
}

它只是说没有什么可以同步的。帮助

2 个答案:

答案 0 :(得分:0)

在lsynd你可以这样做

settings {
    logfile = "/var/log/lsyncd.log",
    statusFile = "/var/log/lsyncd-status.log",
    statusInterval = 20,
    nodaemon = true
}
sync {
   default.rsync,
   source="/srcdir/",
   target="/dstdir/",
   rsync = {
     archive = true,
     compress = true,
     whole_file = false,
     _extra = { "--include=asterisk", "--exclude=*" },
     verbose = true
   },
   delay=5,
   log=all,
}

启动后lsyncd我有下一个

root@localhost:/srcdir# ls
12  aster  asterisk

root@localhost:/dstdir# ls
asterisk

答案 1 :(得分:0)

这对我有用:

sync {
    default.rsync,
    source = "/Users/username/Downloads/",
    target = "/Users/username/Downloads/",
    rsync = {
      binary = "/usr/bin/rsync",
      archive = "true",
      _extra = {
        "--include=test1.txt",
        "--exclude=*"
      }
    }
}

你必须使用lsyncd的包含/排除功能,它不是开箱即用的。您必须使用 _extra 字段进行设置。