我有一个简单的脚本,我试图让Monit监控。在some digging around之后我发现了这个小块: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
如果您对可能发生的事情有所了解,我很乐意听取您的意见!
答案 0 :(得分: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中所述。
答案 1 :(得分:4)
您可能需要提供su
的完整路径,即/bin/su