2011-10-30 60 views
5

Tôi có một kịch bản đơn giản mà tôi đang cố gắng để có được Monit để theo dõi. Sau some digging around tôi thấy nugget ít này: start program = "su - myuser -c '/home/user/myscript.rb start' " mà tôi tin rằng sẽ làm việc nhưng nhìn vào những file log nó nói:Monit không bắt đầu quá trình

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

Tương tự như vậy trước đó cố gắng tấn công dường như chỉ để đọc các phần trước một không gian như vậy:

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

kết quả trong…

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

Lỗi nào không giống ví dụ đầu tiên nhưng dường như chỉ thực thi phần trước không gian .

Đây là tuyên bố đầy đủ của tôi:

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 

Nếu bạn đã có một ý tưởng gì có thể xảy ra tôi rất muốn nghe từ bạn!

Trả lời

7

Tôi đoán bạn có thể thử một cái gì đó như:

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 

như đã nêu trong monit doc.

+6

Hi Brice, sau một _lot_ của quan trọng xung quanh tôi đã tìm thấy rằng sau nó: bắt đầu chương trình = "/ bin/bash -c 'xuất khẩu rvm_path =/home/user/.rvm;. $ rvm_path/scripts/rvm; cd /home/user/crittr.me; $ rvm_path/bin/rvm rvmrc tải; ./simple_script_daemon.rb start '"Cảm ơn sự giúp đỡ của bạn! – fetimo

+1

Bạn nên trả lời câu hỏi của riêng bạn và đánh dấu câu trả lời của bạn là giải pháp được chấp nhận. –

+1

@fetimo Hãy làm điều này thành câu trả lời. Nó làm việc cho tôi! – Renan

4

Bạn có thể cần phải cung cấp đường dẫn đầy đủ đến su, tức là /bin/su

Các vấn đề liên quan