Я использую Monit для мониторинга сервера Ubuntu и хотел бы запустить тест на изменения в git-репо.
Я прочитал ( здесь ), что "git ls-files" будет лучшим способом сделать это, но я не уверен, как выполнить команду exec в качестве теста в monit. Их документы показывают примеры выполнения команд exec после прохождения теста, но не как тестировать exec.
Каков наилучший способ сделать это?
==========
PS - Я нашел решение на основе ответа @TheCodeKiller ниже. Вот окончательный код, теперь отлично работает. Ответ был на самом деле в документах, но я не признал его своим решением. Это здесь .
Внутри конфигурации 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