我正在使用 monit 监控 mysqld,但我希望如果我停止 monit,那么 mysqld 服务也会停止。
答案1
最简单的方法是修改 Monitinit.d
脚本以停止mysqld
。这样做的主要问题是,Monit 包的未来更新可能会覆盖您的更改。
或者,您可以编写自己的init.d
脚本来控制mysqld
和monit
,并使用它来代替提供的init.d
脚本。
答案2
你从根本上不能,也不应该想这样做,因为这不是 monit 的设计工作方式。顾名思义,Monit 是一个监控系统,它内置了一些自动问题处理逻辑。我也想不出你为什么要做这样的事情,所以我无法为你提供其他解决方案实际的问题。
答案3
这可能有点简单,但是你有没有想过:
创建一个同时停止/启动两个服务的脚本,并使用它来调用它们而不是常规的 init.d 脚本?
如果您希望将它们作为命令运行,您可以将它们放入 bin 文件夹中。
答案4
是因为您想停止 MySQL 并进行维护或其他什么吗?
如果是这样,只需:
'monit unmonitor name_of_service_check_here'
... monit 将保留它。如果您已配置 monit 状态文件(默认为 /var/.monit_state 或类似文件),则即使在重新启动后,monit 也会记住取消监控等。您可能还想尝试 monit status 来查看所有或一项给定检查的当前状态:
monit status
就像沃姆布尔 (Womble) 所说的那样,首先解释你遇到了什么问题,而不是专注于一种(可能很糟糕的)解决方法。