5

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"

結果は…</p>

[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

何が起こっているのかわからない場合は、ぜひご連絡ください。

4

2 に答える 2

7

次のようなことを試すことができると思います:

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に記載されているとおり。

于 2012-01-03T15:27:02.150 に答える
4

へのフル パスを指定する必要がある場合がありますsu/bin/su

于 2012-10-02T21:38:02.870 に答える