Bash 监测和/或监测/环境

Bash 监测和/或监测/环境,bash,monit,Bash,Monit,我在/etc/environment中设置了RAILS\u ENV='production'变量和简单的bash脚本 #!/bin/bash printenv 在monit配置中,我检查此脚本是否正在运行。(它仅用于测试目的,因为没有类似的进程,monit应尝试以以下方式启动它: start program=“/home/deploy/www/laptophits/current/bin/importer”) 我在monit日志中发现错误: [UTC Sep 3 09:31:50] erro

我在
/etc/environment
中设置了
RAILS\u ENV='production'
变量和简单的bash脚本

#!/bin/bash
printenv
在monit配置中,我检查此脚本是否正在运行。(它仅用于测试目的,因为没有类似的进程,monit应尝试以以下方式启动它:

start program=“/home/deploy/www/laptophits/current/bin/importer”

我在monit日志中发现错误:

[UTC Sep  3 09:31:50] error    : 'importer' failed to start (exit status 0) -- /home/deploy/www/laptophits/current/bin/importer: MONIT_DATE=Sun, 03 Sep 2017 09:31:20
MONIT_HOST=localhost
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
LANG=en_US.UTF-8
MONIT_PROCESS_PID=-1
MONIT_EVENT=Started
MONIT_PROCESS_MEM

看起来这个bash脚本只使用一些简单的monit变量运行。如何使其与
/etc/variables
和/或用户变量一起运行?

您可以通过以下方式运行命令:

start program = "/bin/bash -c '/home/deploy/www/laptophits/current/bin/importer'" as uid **username** and gid **group**

shell将加载用户的环境。

要在monit中加载/etc/environment变量,必须使用
source/etc/environment

eg

start program=“/bin/bash-c”source/etc/environment&&cd/srv//current&&usr/local/rbenv/shimmes/bundle exec sidekiq-d-L log/sidekiq.log-c config/sidekiq.yml-e production”作为uid 1000和gid 1000
这将加载用户环境和/etc/environment文件

  start program = "/bin/bash -c 'source /etc/environment && cd /srv/<project>/current && /usr/local/rbenv/shims/bundle exec sidekiq -d -L log/sidekiq.log -C config/sidekiq.yml -e production'" as uid 1000 and gid 1000