2011-10-30 23 views
5

मेरे पास एक साधारण स्क्रिप्ट है कि मैं मॉनीट को मॉनिटर करने की कोशिश कर रहा हूं। start program = "su - myuser -c '/home/user/myscript.rb start' " जो मेरा मानना ​​है कि काम करना चाहिए लेकिन लॉग फाइल यह कहते हैं पर देख रहे हैं:मॉनिट प्रक्रिया शुरू करने में असफल

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

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

इसी तरह पहले ही एक अंतरिक्ष इसलिए पूर्ववर्ती भाग पढ़ने के लिए लग रहे प्रयास some digging around बाद मैं इस छोटे से डला पाया

परिणामों में ...

[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 

आप एक विचार क्या हो रहा हो सकता है पर मैं आप से सुनना पसंद करेंगे मिल गया है, तो!

उत्तर

7

मुझे लगता है कि आप की तरह कुछ की कोशिश कर सकते: के रूप में monit doc में कहा गया है

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 

+6

हाय ब्राईस, लगभग नगण्य का एक _lot_ के बाद मैंने पाया कि निम्न यह करता है: कार्यक्रम शुरू = "/ bin/bash 'निर्यात -c rvm_path =/home/user/.rvm; $ rvm_path/स्क्रिप्ट/rvm; cd /home/user/crittr.me; $ rvm_path/bin/rvm rvmrc load; ./simple_script_daemon.rb प्रारंभ करें "आपकी मदद के लिए धन्यवाद! – fetimo

+1

आपको अपने प्रश्न का उत्तर देना चाहिए और स्वीकृत समाधान के रूप में अपना उत्तर चिह्नित करना चाहिए। –

+1

@fetimo कृपया इसे एक उत्तर में बनाएं। यह मेरे लिए काम किया! – Renan

4

आप su का पूर्ण पथ प्रदान करने के लिए आवश्यकता हो सकती है, यानी /bin/su

संबंधित मुद्दे