Мониторинг проверки статуса изменений в git repo - PullRequest
0 голосов
/ 09 мая 2018

Я использую 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

1 Ответ

0 голосов
/ 23 мая 2018

Вы можете запустить программу или пользовательский скрипт с помощью check program :

check program my_check with path "/path/to/my/script.sh arg1 arg2 arg3"
    if status != 0 for 3 cycles then alert

Таким образом, вам придется написать собственный скрипт для этого и предпринять действия для удаления кода завершения скрипта.

...