[ubuntu-uk] shell script resque
Bruno Girin
brunogirin at gmail.com
Mon May 31 19:35:58 BST 2010
On Mon, 2010-05-31 at 23:34 +0530, Kaushal Shriyan wrote:
> Hi,
>
>
> I run the resque init script using /etc/init.d/resque start at
> the command line which works perfectly fine while the machine is up
> and
> running fine, The issue is it doesnot come up automatically after
> bootup.
This is because /etc/init.d is just a repository for all
startup/shutdown scripts. You then need to configure the script to start
on certain run-levels and stop on others. Have a look at the wiki page
on the subject [1] (the section titled "Installing custom init-scripts")
or do: man update-rc.d
[1] https://help.ubuntu.com/community/UbuntuBootupHowto
Bruno
>
>
>
> root at hoststage:~# cat /etc/init.d/resque
>
> #!/bin/bash
> # Author Kaushal Shriyan
> # Date 31/05/2010
> # Startup script for Resque Server
>
> touch /root/status
> set -e
>
> start_resque=/usr/local/AddressBook/EntAddressBookDataStore/current/resque_cluster_start.sh
> stop_resque=/usr/local/AddressBook/EntAddressBookDataStore/current/resque_cluster_stop.sh
>
> start() {
> echo -n "Starting ResqueServer: "
> ${start_resque}
> echo "starting" >> /root/status
> uptime >> /root/status
> echo "done."
> exit 0
> }
> stop() {
> echo -n "Shutting down ResqueServer: "
> ${stop_resque}
> echo "done."
> exit 0
> }
>
> # See how we were called
> case "$1" in
> start)
> start
> ;;
> stop)
> stop
> ;;
> restart)
> stop
> sleep 10
> start
> ;;
> *)
> echo "Usage: $0 {start|stop|restart}"
> esac
> root at hoststage:~# cat /usr/local/AddressBook/EntAddressBookDataStore/
>
> current/resque_cluster_start.sh
>
> #!/bin/bash
>
>
> cd /usr/local/AddressBook/EntAddressBookDataStore/current/
> RAILS_ENV=production ./resque_start.sh > log/resque.1.log 2>&1 &
> RAILS_ENV=production ./resque_start.sh > log/resque.2.log 2>&1 &
> RAILS_ENV=production ./resque_start.sh > log/resque.3.log 2>&1 &
> RAILS_ENV=production ./resque_start.sh > log/resque.4.log 2>&1 &
> RAILS_ENV=production ./resque_start.sh > log/resque.5.log 2>&1 &
> RAILS_ENV=production ./resque_start.sh > log/resque.6.log 2>&1 &
> RAILS_ENV=production ./resque_start.sh > log/resque.7.log 2>&1 &
> RAILS_ENV=production ./resque_start.sh > log/resque.8.log 2>&1 &
> RAILS_ENV=production ./resque_start.sh > log/resque.9.log 2>&1 &
> RAILS_ENV=production ./resque_start.sh > log/resque.10.log 2>&1 &
> root at hoststage:~# ls
> -l /usr/local/AddressBook/EntAddressBookDataStore/
>
>
> current/resque_cluster_start.sh
>
> -rwxr-xr-x 1 root root 724 2010-05-31 04:50 /usr/local/AddressBook/
>
> EntAddressBookDataStore/current/resque_cluster_start.sh
>
>
> #cat resque_start.sh
> #!/usr/bin/env sh
>
>
> # === GC settings =============
> # twitter's settings
> # TODO - set only for the forked process not the parent process
> # export RUBY_HEAP_MIN_SLOTS=500000
> # export RUBY_HEAP_SLOTS_INCREMENT=250000
> # export RUBY_HEAP_SLOTS_GROWTH_FACTOR=1
> # export RUBY_GC_MALLOC_LIMIT=50000000
> # ============================
>
>
> # required to start the redis server:
> # redis-server <path to redis.conf>
>
>
> # VVERBOSE=true level of verbosity - useful for debugging
> # QUEUE=<value> the named queue to be polled
> # INTERVAL=<seconds> the interval to sleep if there is no job in the
> queue
>
>
> # INTERVAL=60
> QUEUE=contact_import /usr/bin/env rake -f /usr/local/AddressBook/
> EntAddressBookDataStore/current/Rakefile resque:work #--trace
>
>
> # start the redis-web app
> #resque-web -p8282 config/initializers/load_resque.rb
>
>
> # if [ -f "/usr/local/redis/redis.conf" ]; then
> # /usr/local/redis/redis.conf/redis-server /usr/local/redis/
> redis.conf
> # else
> # /usr/local/redis/redis.conf/redis-server /usr/local/redis/
> redis.conf
> # fi
>
>
> root at hoststage:/etc/rc2.d#
> lrwxrwxrwx 1 root root 23 2010-05-27 06:06 S20nvidia-kernel -> ../
> init.d/nvidia-kernel
> lrwxrwxrwx 1 root root 16 2010-05-31 05:19 S20resque -> ../init.d/
> resque
> lrwxrwxrwx 1 root root 20 2010-05-31 05:19 S20resque_web
> -> ../init.d/
> resque_web
> root at hoststage:/etc/rc3.d# ls -l
> total 4
> lrwxrwxrwx 1 root root 16 2010-05-31 05:19 S20resque -> ../init.d/
> resque
> lrwxrwxrwx 1 root root 20 2010-05-31 05:19 S20resque_web
> -> ../init.d/
> resque_web
> root at hoststage:/etc/rc3.d#
> total 4
> lrwxrwxrwx 1 root root 16 2010-05-31 05:19 S20resque -> ../init.d/
> resque
> lrwxrwxrwx 1 root root 20 2010-05-31 05:19 S20resque_web
> -> ../init.d/
> resque_web
> root at hoststage:/etc/rc2.d#
> total 4
> lrwxrwxrwx 1 root root 16 2010-05-31 05:19 S20resque -> ../init.d/
> resque
> lrwxrwxrwx 1 root root 20 2010-05-31 05:19 S20resque_web
> -> ../init.d/
> resque_web
> root at hoststage:/etc/rc4.d#
> total 4
> lrwxrwxrwx 1 root root 16 2010-05-31 05:19 S20resque -> ../init.d/
> resque
> lrwxrwxrwx 1 root root 20 2010-05-31 05:19 S20resque_web
> -> ../init.d/
> resque_web
> root at hoststage:/etc/rc5.d#
>
>
> Please suggest further.
>
>
> Thanks and Regards
>
More information about the ubuntu-uk
mailing list