summaryrefslogtreecommitdiff
path: root/install/ishtar-delete-instance
diff options
context:
space:
mode:
Diffstat (limited to 'install/ishtar-delete-instance')
-rwxr-xr-xinstall/ishtar-delete-instance101
1 files changed, 101 insertions, 0 deletions
diff --git a/install/ishtar-delete-instance b/install/ishtar-delete-instance
new file mode 100755
index 000000000..0cd004de3
--- /dev/null
+++ b/install/ishtar-delete-instance
@@ -0,0 +1,101 @@
+#!/bin/bash
+
+set -e
+
+cecho() {
+ local code="\033["
+ case "$1" in
+ black | bk) color="${code}0;30m";;
+ red | r) color="${code}1;31m";;
+ green | g) color="${code}1;32m";;
+ yellow | y) color="${code}1;33m";;
+ blue | b) color="${code}1;34m";;
+ purple | p) color="${code}1;35m";;
+ cyan | c) color="${code}1;36m";;
+ gray | gr) color="${code}0;37m";;
+ *) local text="$1"
+ esac
+ [ -z "$text" ] && local text="$color$2${code}0m"
+ echo -e "$text"
+}
+
+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 "";
+ cecho r ""$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 "";
+ cecho r "No instance installed. Exiting."
+ echo "";
+ exit 1;
+ fi
+ echo ""
+ cecho g "*******************************************************************************"
+ cecho g "++++++ Ishtar instance deletion script ++++++"
+ cecho g "*******************************************************************************"
+ echo ""
+ cecho y "Available instances:"
+ echo ""
+
+ 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 ""
+ cecho r "Are you really sure to delete configuration, database and media attached to the "
+ cecho r "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 ""
+ cecho g $to_delete" have been completly removed"
+ echo ""
+}
+
+do_delete_instance