我们使用 Unison 在位于两个不同数据中心的两台服务器上实现了文件夹同步。对于我们来说,文件夹同步按预期工作至关重要,因为我们的 SLA 取决于两端的数据是否可用。
到目前为止,Unison 运行良好,没有任何问题。
但是,我们需要实施一种机制,以确保在 Unison 确实出现错误时有人会收到通知。我知道标准的 Unison 日志。但除了标准日志之外,我还在寻找另一种只报告错误的日志,而不是 Unison 服务正在执行的所有操作的完整详细日志。
这样我们就可以监控这个“仅错误”日志并发送电子邮件或短信来通知正确的个人。
答案1
我们使用 Unison 的包装器,如果发生故障,它会根据要同步的目录的路径名在 /tmp 中创建一个文件。然后,Nagios 会进行服务检查,检查这些文件是否存在,如果找到,则会发出警报。这样,就可以使用详细的 Unison 日志来获取更多信息,快速了解是否出现问题,并在出现问题时自动发送电子邮件/短信。如果没有 Nagios 之类的服务,您也可以使用 cron 来实现这一点。
答案2
我没有测试,但你可以使用 logfile 指令来记录所有修改,使用 quiet 来停止 stdout。你只会看到错误,所以你可以将它们重定向到邮件、日志文件...