在安装的网络共享上使用WatchPaths启动LaunchAgent

时间:2016-10-19 14:29:14

标签: macos share rsync launch-agent

我有一个安装在Mac mini 1上的(Synology)网络共享。我希望这个共享同步到Mac mini 2:

  • 更改指定目录的内容时
  • 除此之外,它应该每小时同步

我已经创建了一个rsync脚本和以下的LaunchAgent:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>KeepAlive</key>
    <dict>
        <key>SuccessfulExit</key>
        <false/>
    </dict>
    <key>Label</key>
    <string>com.company.rsync</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Library/Scripts/rsync.sh</string>
    </array>
    <key>StartInterval</key>
    <integer>3600</integer>
    <key>WatchPaths</key>
    <array>
        <string>/Volumes/web/network_share/specified_directory</string>
    </array>
</dict>
</plist>

当我查看rsync日志文件时,它似乎每30秒同步一次,即使指定目录中没有任何更改。

如果我将目录更改为本地目录(例如/ Volumes / Server HD 2 / local_share),一切正常。

所以不知何故,LaunchAgent每30秒触发一次,我不知道怎么做。我还查看了目录中的隐藏文件,但这些文件也没有改变。

编辑:

我认为这是一个Synology错误,其中文件的时间戳在2040年更改为某个日期。但我切换到另一个Synology,它更新到最新的DSM,不再有这个问题了。但问题仍然存在。

详细记录说:

total: matches=0 hash_hits=0 false_alarms=0 data=0

1 个答案:

答案 0 :(得分:0)

仍然不确定导致此行为的原因,但是使用smb挂载共享似乎已经解决了这个问题。