首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Monit和/etc/environment

Monit和/etc/environment
EN

Stack Overflow用户
提问于 2017-09-03 17:36:38
回答 2查看 1.6K关注 0票数 4

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

代码语言:javascript
复制
#!/bin/bash
printenv

在monit config中,我检查这个脚本是否正在运行。(它仅用于测试目的,因为没有这样的进程,monit应该尝试使用以下命令启动它:

start program = "/home/deploy/www/laptophits/current/bin/importer")

我在monit日志中得到错误:

代码语言:javascript
复制
[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和/或用户变量一起运行?

EN

回答 2

Stack Overflow用户

发布于 2018-06-19 09:45:51

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

例如;

代码语言:javascript
复制
  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

这将加载用户环境和/etc/environment文件。

票数 1
EN

Stack Overflow用户

发布于 2017-10-19 23:08:36

您可以按如下方式运行命令:

代码语言:javascript
复制
start program = "/bin/bash -c '/home/deploy/www/laptophits/current/bin/importer'" as uid **username** and gid **group**

shell将加载用户的环境。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46022077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档