#!/bin/bash set -e do_delete_instance() { NGINX_AVAILABLE_PATH='/etc/nginx/sites-available' NGINX_ENABLE_PATH='/etc/nginx/sites-enabled' UWSGI_AVAILABLE_PATH='/etc/uwsgi/apps-available' UWSGI_ENABLE_PATH='/etc/uwsgi/apps-enabled' if [ ! -z '$CONFIG_PATH' ]; then CONFIG_PATH="/etc/ishtar/" fi if [ ! -f $CONFIG_PATH/config ]; then echo ""; echo ""$CONFIG_PATH" is not a valid config file." echo "Have you properly install Ishtar sources?" echo "Run ishtar-install before this script."; echo ""; exit 1; fi source $CONFIG_PATH/config INSTANCES_FILE=$CONFIG_PATH/instances if [ ! -f $INSTANCES_FILE ]; then echo ""; echo "No instance installated. Exiting." echo ""; exit 1; fi cat >&2 <<-'EOF' ******************************************************************************* ++++++ Ishtar instance deletion script ++++++ ******************************************************************************* Avalaible instances: EOF cat $INSTANCES_FILE to_delete='' echo "" while [ "$to_delete" == '' ] do read -p "* Which one would you like to delete? " choice GRP=`cat $INSTANCES_FILE | grep "^$choice$"` if [ "$GRP" != '' ]; then to_delete=$choice fi done echo "" echo "Are you really sure to delete configuration, database and media attached to the " echo "instance "$to_delete"?" echo "" read -p "* Type DELETE if you are sure: " choice if [ "$choice" != "DELETE" ]; then exit 1 fi sed '/'$to_delete'/d' $INSTANCES_FILE > /tmp/new_instances mv /tmp/new_instances $INSTANCES_FILE INSTANCE=$to_delete rm -rf $ISHTAR_PATH/$INSTANCE rm -f "$NGINX_AVAILABLE_PATH/ishtar-$INSTANCE.conf" rm -f "$NGINX_ENABLE_PATH/ishtar-$INSTANCE.conf" rm -f "$UWSGI_AVAILABLE_PATH/ishtar-$INSTANCE.ini" rm -f "$UWSGI_ENABLE_PATH/ishtar-$INSTANCE.ini" DB_NAME="ishtar-$INSTANCE" export DB_NAME su postgres <<'EOF' dropdb "$DB_NAME" dropuser "$DB_NAME" EOF echo $to_delete" have been completly removed" } do_delete_instance