Monit не удалось запустить процесс

У меня есть простой сценарий, который я пытаюсь заставить Monit контролировать. После некоторых поисков я нашел этот маленький самородок: start program = "su - myuser -c '/home/user/myscript.rb start' " который, я считаю, должен работать, но, глядя на файлы журнала, он говорит:

[PDT Oct 30 02:47:17] info     : 'simple_script' start: su
[PDT Oct 30 02:47:17] error    : Error: Could not execute su

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

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

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


person fetimo    schedule 30.10.2011    source источник


Ответы (2)


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

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.

person brisssou    schedule 03.01.2012
comment
Привет, Брайс, после много возни я обнаружил, что это делает следующее: start program = /bin/bash -c 'export rvm_path=/home/user/.rvm; . $rvm_path/скрипты/rvm; cd /home/user/crittr.me; $rvm_path/bin/rvm rvmrc загрузить; ./simple_script_daemon.rb start' Спасибо за помощь! - person fetimo; 16.01.2012

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

person Michał Szajbe    schedule 02.10.2012