你需要調用一些在bash腳本,看起來像這樣:
su - deploy -c "cd $RAILS_ROOT && rake RAILS_ENV=development jobs:work" >> $RAILS_ROOT/log/myjob.log 2>&1
然後從你的/etc/init.d/mystartup_filename調用它。該文件可能看起來像這樣︰
#! /bin/sh
RAILS_ROOT="/home/deploy/rails_root"
ENV="development"
case "$1" in
start)
echo -n "Starting my job: "
su - deploy -c "cd $RAILS_ROOT && rake RAILS_ENV=$ENV jobs:work" >> $RAILS_ROOT/log/myjob.log 2>&1
echo "done."
;;
stop)
echo -n "Stopping my job: "
su - deploy -c "cd $RAILS_ROOT && rake RAILS_ENV=$ENV jobs:stopwork" >> $RAILS_ROOT/log/myjob.log 2>&1
echo "done."
;;
*)
echo "Usage: $N {start|stop}" >&2
exit 1
;;
esac
exit 0
來源
2011-06-01 20:45:49
Dex
好的很好的答案 - 但我不太好在這個Ubuntu的東西 - 文件應該有一個特定類型的結局.something?我要運行任何特定的代碼來使文件運行 - 或者僅僅是在目錄init.d中創建一個文件就足夠了? – 2011-06-01 21:45:44
好吧,我明白了!使用這個http://tips4linux.com/create-a-startup-script-for-debian-and-ubuntu-systems/,並與你的文章一起!感謝您的快速回答! – 2011-06-01 22:24:25
順便說一句我已經注意到,當我運行「ps -ef」時,我看到3個進程在應用腳本之後運行: ubuntu 843 842 0 23:46? 00:00:00 su - ubuntu -c cd/home/ubuntu/webprojects/autouncle && rake RAILS_ENV = production jo ubuntu 856 843 0 23:46? 00:00:00 -su -c cd/home/ubuntu/webprojects/autouncle && rake RAILS_ENV =生產作業:工作 ubuntu 953 856 10 23:46? 00:00:18 /home/ubuntu/.rvm/rubies/ruby-1.9.2-p180/bin/ruby/home/ubuntu/.rvm/gems/ruby-1.9。 這是否有任何意義? – 2011-06-01 23:50:52