forked from GNUsocial/gnu-social
		
	* add some sanity checking: abort on failures instead of plodding through * add some progress / error output * fetch the target database server name from the status_network entry and use that to target the DROP DATABASE Note that database names and other overrides in status_network entry may still not be seen.
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| # live fast! die young!
 | |
| 
 | |
| set -e
 | |
| 
 | |
| source /etc/statusnet/setup.cfg || (echo "Failed to read /etc/statusnet/setup.cfg"; exit -1)
 | |
| 
 | |
| export nickname=$1
 | |
| if [ "x" == "x$nickname" ]
 | |
| then
 | |
|     echo "Usage: delete_status_network.sh <site-nickname>"
 | |
|     exit 1
 | |
| fi
 | |
| 
 | |
| export database=$nickname$DBBASE
 | |
| 
 | |
| # Pull the status_network record so we know which DB server to drop from...
 | |
| TARGET_DBHOST=`mysql -h $DBHOST -u $ADMIN --password=$ADMINPASS $SITEDB --batch --skip-column-names -e \
 | |
|   "select dbhost from status_network where nickname='$nickname'"`
 | |
| 
 | |
| if [ "x" == "x$TARGET_DBHOST" ]
 | |
| then
 | |
|     echo "Aborting: Could not find status_network record for site $nickname"
 | |
|     exit 1
 | |
| fi
 | |
| 
 | |
| # Drop the database
 | |
| echo "Dropping $database from $TARGET_DBHOST..."
 | |
| mysqladmin -h $TARGET_DBHOST -u $ADMIN --password=$ADMINPASS -f drop $database || exit 1
 | |
| 
 | |
| # Remove the status_network entry
 | |
| echo "Removing status_network entry for $nickname..."
 | |
| mysql -h $DBHOST -u $ADMIN --password=$ADMINPASS $SITEDB -e \
 | |
|     "delete from status_network where nickname = '$nickname'" || exit 1
 | |
| 
 | |
| # Remove uploaded file areas
 | |
| for top in $AVATARBASE $FILEBASE $BACKGROUNDBASE; do
 | |
|     if [ "x" == "x$top" ]
 | |
|     then
 | |
|         echo "Skipping deletion due to broken config"
 | |
|     else
 | |
|         echo "Deleting $top/$nickname"
 | |
|         rm -Rf "$top/$nickname"
 | |
|     fi
 | |
| done
 | |
| 
 | |
| echo "Done."
 |