Я сейчас пытаюсь использовать monit, чтобы очистить /var/log
раздел из определенных файлов всякий раз, когда в разделе заканчивается свободное место на диске. Я создал файл с именем toto
и попробовал этот тест после прочтения документа:
check filesystem log path /var/log
if space usage > 1% for 3 cycles then exec "/usr/bin/find /var/log/ -iname 'toto' -type f -exec rm -f {} \;"
Когда я запускаю monit, он печатает 'log' start skipped -- method not defined
и я еще не нашел, что это значит?
Глядя на мои собственные журналы мониторинга, я вижу, что это происходит, если по какой-то причине Monit пытается запустить службу, для которой нет start
был объявлен метод. Вот пример из документация:
check process mmonit with pidfile /usr/local/mmonit/mmonit/logs/mmonit.pid
start program = "/usr/local/mmonit/bin/mmonit" as uid "mmonit" and gid "mmonit"
stop program = "/usr/local/mmonit/bin/mmonit stop" as uid "mmonit" and gid "mmonit"
Эта услуга имеет start
и stop
метод определен. Вы не указываете такие методы для своего log
service, поэтому они не определены, и Monit ничего не может сделать, если его каким-то образом попросят start
, stop
, или restart
(это третий метод) log
служба.
Вам не нужно их определять, если Monit фактически не собираются запускать или останавливать службу. У меня есть тест дискового пространства, где методы не определены, и он работает нормально.