2009-07-31 1 views
0

Rightscale을 사용하여 Amazon EC2에서 인스턴스를 시작합니다. 내 모든 부팅 스크립트는 훌륭하게 작동하며 폴더에 아래 파일 이름을 가져 오는 것과 같은 작업을 수행합니다. 마지막 부트 스크립트는 다음과 같습니다.부팅시 bash 스크립트에서 Ruby 데몬을 실행할 때 매우 이상한 동작이 발생합니다.

#!/bin/bash 

MAINDIR="/root/username/"  

ruby ${MAINDIR}insertfd_control.rb stop 
ruby ${MAINDIR}insertfd_control.rb start 
ruby ${MAINDIR}inserttk_control.rb stop 
ruby ${MAINDIR}inserttk_control.rb start 

Ruby에서 작성한 데몬을 시작하려면 사용하고 싶습니다. 어떤 오류 출력도없이 부트 스크립트로 실행되지만 ssh를 통해 로그인 할 때 시작되지 않았 음을 알 수 있습니다. 그런 다음 위의 스크립트를 수동으로 실행하면 시작됩니다. 어떻게 부팅 scrpipt로 시작하지 않습니까?

다음 게시물을 발견 : http://blog.angelbob.com/posts/124하지만 관련성이 있는지 확실하지 않습니다.

+0

동일한 사용자로 실행되고 있습니까? 같은 특권? – Geo

답변

1

그 블로그 게시물에 대한 링크로 인해 답변을 발견했습니다. Ruby 제어 스크립트에는 스크립트의 절대 경로가 있어야합니다.

#!/usr/bin/env ruby 

require 'rubygems' 
require 'daemons' 

options = { 
    :app_name => "inserttk", 
    :log_output => true, 
    :monitor => true 
} 

Daemons.run('/root/username/inserttk.rb', options) 
관련 문제