Я хочу контролировать свое приложение Rails, работающее на единороге, с помощью monit.
Выполнение следующих двух из оболочки при входе в систему как root завершится ошибкой:
"/srv/app/current/config/unicorn.sh start"
su -c "/srv/app/current/config/unicorn.sh start" app
Что работает:
su -c "/srv/app/current/config/unicorn.sh start" - app
Меня это не удивляет, пользуюсь rbenv что требует некоторых изменений в $PATH
что я делаю в .bash_profile
. К сожалению, я не могу заставить его работать с monit. Я подготовил сценарий, основанный на том, что я нашел в Интернете:
check process unicorn
with pidfile /srv/app/shared/pids/unicorn.pid
start program = "/srv/app/current/config/unicorn.sh start" as uid app and gid app
stop program = "/srv/app/current/config/unicorn.sh stop" as uid app and gid app
group www
Это выглядит как .bash_profile
не читается в этом случае - как это изменить? Или, как вариант, как добавить несколько каталогов в $PATH
что использует monit?
Спасибо за любую помощь.
Я только что узнал, что лучше всего сделать это unicorn.sh
с shebang указывая на /bin/bash
и установить $PATH
в начале сценария.