Монит не удалось запустить процесс - PullRequest
5 голосов
/ 30 октября 2011

У меня есть простой скрипт, который я пытаюсь заставить Монит следить.* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * start program = "su - myuser -c '/home/user/myscript.rb start' " * * * * * * * * * * *1003* * * * * * * * * * *1003* * * * * * * * * * * *} *1003* *

*часть, предшествующая пробелу, так:

start program = "/home/user/.rvm/rubies/ruby-1.9.2-p290/bin/ruby /home/user/simple_script_daemon.rb stop"

приводит к…

[PDT Oct 30 03:09:49] info     : 'simple_script' start: /home/user/.rvm/rubies/ruby-1.9.2-p290/bin/ruby

, которая не терпит неудачу, как в первом примере, но все же, кажется, выполняет только часть, предшествующую пробелу.

Это мое полное утверждение:

check process simple_script
    with pidfile /home/user/simple_script.rb.pid
    start program = "su - user -c '/home/user/simple_script_daemon.rb start' "
    stop program = "su - user -c '/home/user/simple_script_daemon.rb stop' "
    group simple_script

Если у вас есть идея, что может происходить, я бы хотел услышать от вас!

Ответы [ 2 ]

7 голосов
/ 03 января 2012

Я думаю, вы могли бы попробовать что-то вроде:

check process simple_script
    with pidfile /home/user/simple_script.rb.pid
    start program = "/home/user/simple_script_daemon.rb start" as uid user and gid user
    stop program = "/home/user/simple_script_daemon.rb stop" as uid user and gid user
    group simple_script

как указано в monit doc .

4 голосов
/ 03 октября 2012

Возможно, вам потребуется указать полный путь к su, т.е. /bin/su

...