使用正确的用户环境variables启动启动命令

我正在尝试创build一个启动脚本,在启动时为我的Ubuntu 12.04服务器运行这个命令:

软件包执行薄-R -R config.ru开始-p 3030

当我以普通用户身份运行它时,它工作得很好,瘦Web服务器启动,我可以访问我需要的页面。 下面是我试图使用/etc/init/thin.conf的启动脚本:

description "thin" version "1.0" author "Me" env LANG=en_US.UTF-8 env APP_HOME=/home/username/onlinetraining_dashboard respawn start on runlevel [23] script cd $APP_HOME sudo -u username /home/username/.rvm/gems/ruby-1.9.3-p448@global/bin/bundle exec thin -R config.ru start -p 3030 > $APP_HOME/log/thin.log 2>&1 end script 

然后,我将input“sudo start thin”来运行脚本,并在启动时启动。

当我启动服务时,在日志文件中出现这个错误:

 /usr/bin/env: ruby_executable_hooks: No such file or directory 

我正在使用RVM 1.9.3的ruby。

这是我假设我的.bash_profile允许我运行命令包exec thin -r config.ru start -p 3030没有错误:

 [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function* 

我也试过这个脚本没有成功。

 sudo -u username bundle exec thin -R config.ru start -p 3030 > $APP_HOME/log/thin.log 2>&1 

谢谢您的帮助。

你应该使用包装,你可以在这里阅读更多关于它们: http : //rvm.io/integration/init-d