我正在使用Monit来监控ubuntu服务器,并希望对git repo中的更改进行测试。
我已经读过(here)“git ls-files”是最好的方法,但我不确定如何在monit中运行exec命令作为测试。他们的文档显示了在测试通过后运行exec命令的示例,而不是如何在exec上测试。
最好的方法是什么?
==========
PS - 我找到了基于@TheCodeKiller答案的解决方案。这是最终的代码,现在工作得很好。答案实际上是在文档中,但我没有认为它是我的解决方案。它是here。
在monit配置中(/ etc / monit / monitrc):
check program changed_files with path "/path/to/git/directory/monit_alert_changed_files.sh"
if status != 0 for 3 cycles then alert
然后在该文件中:
#!/bin/bash
# Script to check if there are changes in the current git directory
if [[ `git --git-dir "/path/to/git/directory/.git" --work-tree "/path/to/git/directory/" ls-files -m -o --exclude-standard` ]]; then
# Changes
exit 1
else
# No changes
exit 0
fi
答案 0 :(得分:0)
您可以使用检查程序:
运行程序或自定义脚本check program my_check with path "/path/to/my/script.sh arg1 arg2 arg3"
if status != 0 for 3 cycles then alert
因此,您必须编写一个自定义脚本来执行此操作,并根据脚本退出代码执行操作。