有没有办法通过 Monit 配置传递环境变量



我有一个脚本需要由Monit保持活动状态。 如何将环境变量传递给此脚本? 像这样:

check host steve with address localhost
        group nn
        ENV = "DBHOST=localhost" #this doesn't work...
        start program = "/home/steve.sh start"
        start program = "/home/steve.sh restart"
        if failed port 80 protocol http for 2 cycles then restart

使用 monit 无法将ENV传递给脚本。

完成

此操作的最简单方法可能是使用参数:

添加桥接脚本/home/monit_steve.sh

#!/bin/bash
export DBHOST="$1"
/home/steve.sh "$2"
exit $?

然后更新您的monitrc以匹配(您目前有 2 倍start program...

check host steve with address localhost
  group nn
  start program = "/home/monit_steve.sh localhost start"
  restart program = "/home/monit_steve.sh localhost restart"
  if failed port 80 protocol http for 2 cycles then restart

我知道你可以为此目的使用$HOST,但看起来没有其他可用的。

最新更新