这是我当前在monitrc文件中拥有的内容:
check process rocketjob
matching "rocketjob"
start program = "bin/bash -c 'source $HOME/.rvm/bin/rvm cd /home/ghias/projects/my_project/ && RAILS_ENV=production bundle exec rocketjob --quiet >> log/rocketjob.log'"
它在监视日志文件中给我这个错误:
'rocketjob' failed to start (exit status 1) -- bin/bash: bin/bash: /.rvm/bin/rvm: No such file or directory
whereis rvm命令给了我rvm: /home/user/.rvm/bin/rvm
我在做什么错了?
答案 0 :(得分:0)
您的命令中有一些内容:
/bin/bash
与领先的/
$HOME/.rvm/bin/rvm
和cd
来获取/home/ghias/projects/my_project/
。我认为在;
之前应该有&&
或cd
您可能还想考虑使用这些命令的可执行文件。实现,读取和调试起来更容易:
/root/monit_do_rocketjob
的内容:
#!/bin/bash
source $HOME/.rvm/bin/rvm
cd /home/ghias/projects/my_project/
export RAILS_ENV=production
bundle exec rocketjob --quiet >> log/rocketjob.log
exit $?
别忘了使这个可执行文件。
监视配置:
check process rocketjob
matching "rocketjob"
start program = "/root/monit_do_rocketjob"