Monit を使用して、いくつかの Rails アプリがクラッシュしたときに監視および再起動しようとしています。アプリは Sphinx を使用します。モニターは、通常シェルで機能するコマンドを受け入れません。
monitrc 構成は次のようになります。
...
check process app_name
with pidfile "/path/to/pidfile/searchd.production.pidfile"
start program = sudo su user_name -c "cd /home/app_name/current
&& RAILS_ENV=production rake ts:start"
stop program = sudo su user_name -c "cd /home/app_name/current
&& RAILS_ENV=production rake ts:stop"
...
pidfile へのアクセス許可が拒否されましたが、試してみると:
with pidfile "sudo /path/to/pidfile/searchd.production.pidfile"
それは動作しません。
同様に、monit は start および stop program bash コマンドを受け入れません。
私が見逃している明らかな回避策はありますか?ちなみに私はノブです。
http://capitation.rubyforge.org/recipes/sphinx-monit.html#sphinx:monit:startも見ましたが、よくわかりません。