Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- #
- #
- PATH="/bin:/usr/bin:/usr/local/bin"
- APP_BASE_DIR="/path/to/u/apps"
- APPS="`ls ${APP_BASE_DIR}/*/Rakefile`"
- USER="mongrel"
- export RAILS_ENV="production"
- ##
- # Subroutines.
- run_all_mongrels() {
- type="${1}"
- errors="${2}"
- silent="${3}"
- echo "INFO: action - ${type} all RoR applications."
- for i in ${APPS} ; do
- dir="`echo $i |sed 's/Rakefile$//'`"
- cd "${dir}"; su "${USER}" -c "rake ${silent} util:mongrel_init:${type} 2> ${errors}"
- done
- }
- run_one_mongrel() {
- type="${1}"
- app="${2}"
- echo "INFO: action - ${type} ${2}."
- cd "${APP_BASE_DIR}/${app}"
- cd "${dir}"; su "${USER}" -c "rake -s util:mongrel_init:${type}"
- }
- ##
- # Main.
- case "${1}" in
- start)
- if [ -z "${2}" ]; then
- run_all_mongrels "start" "/var/tmp/`basename $0`.errors"
- else
- run_one_mongrel "start" "${2}"
- fi
- ;;
- stop)
- if [ -z "${2}" ]; then
- run_all_mongrels "stop" "/var/tmp/`basename $0`.errors"
- else
- run_one_mongrel "stop" "${2}"
- fi
- ;;
- list)
- run_all_mongrels "name" "/dev/null" "-s"
- ;;
- *)
- echo "Usage: mongrel_cluster { start { APPLICATION } | stop { APPLICATION } | list }"
- exit 0
- ;;
- esac
- exit 0
Add Comment
Please, Sign In to add comment