Назад | Перейти на главную страницу

Остановить службу mysqld при остановке службы мониторинга

Я слежу за mysqld с помощью monit, но я бы хотел, чтобы, если я остановлю monit, служба mysqld также остановится.

Самый простой способ сделать это - изменить Monit init.d сценарий, чтобы также остановить mysqld. Основная проблема заключается в том, что будущие обновления пакета Monit могут перезаписать ваши изменения.

В качестве альтернативы вы можете написать свой собственный init.d сценарий, который управляет mysqld и monit, и используйте это вместо предоставленного init.d скрипты.

Вы принципиально не можете и не должны этого хотеть, потому что monit так не устроен. Monit, как следует из названия, мониторинг система, которая имеет встроенную логику автоматического решения проблем. Я также не могу представить, почему вы хотите сделать что-то подобное, поэтому я не могу дать вам альтернативные решения для вашего актуальный проблема.

Это может быть немного упрощенно, но задумывались ли вы об этом:

создать сценарий, который просто останавливает / запускает обе службы одновременно, и использовать его для их вызова вместо обычных сценариев init.d?

Вы можете поместить их в свою папку bin, если хотите иметь возможность запускать их как команду.

Это потому, что вы хотите остановить MySQL и провести техническое обслуживание или что-то еще?

Если так, просто:

'monit unmonitor name_of_service_check_here'

... и monit оставит это как есть. Если вы настроили файл состояния монитора (по умолчанию /var/.monit_state или что-то в этом роде), то monit запоминает unmonitors и тому подобное даже после перезагрузки. Вы также можете попробовать статус мониторинга, чтобы увидеть текущий статус для всех или одной данной проверки:

monit status

Как сказал Уомбл, начните с объяснения, какая у вас проблема, вместо того, чтобы сосредоточиться на одном (возможно, плохом) обходном пути.