繁体   English   中英

Ubuntu服务器上的ROR,Redis,Resque,God&Cron - Boot

[英]ROR, Redis, Resque, God & Cron on Ubuntu Server - Boot

在我的ruby应用程序中,我已经做了几个上帝照顾的工作。 但是,当服务器重新启动时,作业将停止。 我想避免这种情况,所以我在我的服务器上制作了这个脚本。 看起来像这样。

my_app.sh

#!/bin/bash

# god tasks

#


case $1 in

start)

/usr/local/rvm/gems/ruby-1.9.3-p194/bin/god      
/usr/local/rvm/gems/ruby-1.9.3-p194/bin/god start
/usr/local/rvm/gems/ruby-1.9.3-p194/bin/god load /usr/local/Linux/apache2/www/hej.se/ruby/config/resque.god
/usr/local/rvm/gems/ruby-1.9.3-p194/bin/god load /usr/local/Linux/apache2/www/hej.se/ruby/config/resque_schedule.god

;;
esac

exit 0

如果我手动登录并写入

“/etc/init.d/my_app start”

它给了我

Sending 'start' command

No matching task or group
Sending 'load' command with action 'leave'

The following tasks were affected:
  resque-0
  resque-1
  resque-2
  resque-3
  resque-4
Sending 'load' command with action 'leave'

The following tasks were affected:
  resque_scheduler

一切正常,它做我想做的事,即工作。

我已经尝试了几种方法在启动时启动此脚本(Linux 10.4.4 LTS),rc.local,rc-default,现在我的最新尝试是crontab。

该脚本必须在我的用户下运行而不是root用户(如果我在root下运行它,则无法找到ruby安装)。

因此我在我的用户帐户下配置了crontab:

@reboot /etc/init.d/my_app start

可悲的是,这不起作用......我不是我做错了。 这可能不是必要的。 我的意思是,在启动ruby应用程序时,你不应该为每个自动启用吗?

我在这台服务器上使用乘客,我不知道这是否与它有关?

下面的解决方案是我对sh所做的更改:

my_app.sh

bash -c "source /usr/local/rvm/scripts/rvm && /usr/local/rvm/gems/ruby-1.9.3-p194/bin/god"      
bash -c "source /usr/local/rvm/scripts/rvm && /usr/local/rvm/gems/ruby-1.9.3-p194/bin/god start"
bash -c "source /usr/local/rvm/scripts/rvm && /usr/local/rvm/gems/ruby-1.9.3-p194/bin/god load /usr/local/Linux/apache2/www/hej.se/ruby/config/resque.god"
bash -c "source /usr/local/rvm/scripts/rvm && /usr/local/rvm/gems/ruby-1.9.3-p194/bin/god load /usr/local/Linux/apache2/www/hej.se/ruby/config/resque_schedule.god"

忘记cronjob。

CentOS的/ Fedora的:

sudo chmod a+x /etc/init.d/my_app
sudo chkconfig --add my_app
sudo chkconfig my_app on

Ubuntu的/ Debian的:

sudo update-rc.d my_app defaults

这两个符号链接脚本/etc/rc1.d/etc/rc2.d等,使脚本可在引导那些运行级别运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM