Mein persönliches Uberspace-Init Script

Ich habe mir ein kleines Script gebastelt, mit dem ich neuen Uberspaces mit wenigen Befehlen einge Voreinstellungen verpassen kann.

Die Funktion in Kürze:

  • Einen Symlink für das Übergeordnete Verzeichnis der Pseudo-DOCUMENT_ROOTs. Zwar nicht unbedingt notwendig aber cd www ist schneller getippt wie cd /var/www/virtual/$USER
  • Vorbereitung für die Daemontools: uberspace-setup-svscan
  • Ein bin– und ein git-Verzeichnis – benötige ich öfters.
  • E-Mail Weiterleitung zu einer auszuwählenden E-Mail-Adresse, oder ins Maildir.
  • Außerdem hole ich mir noch angepasste bash Konfigurationsdateien, die ich bei github abgelegt habe.

Mit dem Parameter bash-config-update wird nur der letzte Punkt ausgeführt. Mit dem Parameter cleanup werden Sicherungskopien der bash Konfiguration von bash-config-update nach /dev/null befördert.

#!/bin/bash
#
# uberspace-init.sh
#
# Init-Script to init new Uberspaces and to Update bash-config
#
#
# Copyright 2014-2015 GOLDERWEB – Jonathan Golder <jonathan@golderweb.de>
# 
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, see <http://www.gnu.org/licenses/>
#

# Make sure we are in $HOME
cd $HOME;

# Download my personal default bash configuration files from github
bash-config-update() {
	
	# Download modified bash-config from github
	( test -f .bash_profile && mv .bash_profile .bash_profile.save || test -d . ) && wget -q https://gist.githubusercontent.com/golderweb/d910ae1edbe853377da5/raw/.bash_profile 
	( test -f .bashrc && mv .bashrc .bashrc.save || test -d . ) && wget -q https://gist.githubusercontent.com/golderweb/e912ccfafda58470e51a/raw/.bashrc
	( test -f  .bash_functions && mv .bash_functions .bash_functions.save || test -d . ) && wget -q https://gist.github.com/golderweb/3dbb4f897339cf5c74e7/raw/.bash_functions
	( test -f .bash_aliases && mv .bash_aliases .bash_aliases.save || test -d . ) && wget -q https://gist.github.com/golderweb/79a4a2cc2cb126d30d4a/raw/.bash_aliases
	
	echo "Test if everything works right, then run \"uberspace-init cleanup\""
}
case "$1" in

	init|"")
		# Set up some predefinitions on new uberspace
		
		# Create Symlink for www
		test -e ~/www || ln -s /var/www/virtual/$USER www

		# Prepare ubespace for using daemontools
		test -d ~/service || uberspace-setup-svscan
	
		# Create several dirs
		test -d ~/bin || mkdir bin
		test -d ~/git || mkdir git
	
		# Enable E-Mail redirection
		read -p "Enter E-Mail-Adress for redirection, leave empty for use Maildir of this uberspace:" mail
	
		if [ -n "$mail" ]; then
			echo -e "#Redirect incomming E-Mails on ${USER} to ${mail}\n$mail" > .qmail || echo "ERROR: .qmail-file couldn't be wrote! E-Mails will be delivered to Maildir"
		else
			echo "No E-Mail-adress was provided, E-Mails will be delivered to Maildir"
		fi
		
		#Get bash-config files from github
		bash-config-update
		;;
		
	bash-config-update)

		#Get bash-config files from github
		bash-config-update
		;;
		
	cleanup)
		
		#Remove backup files 
		rm .bash_profile.save .bashrc.save .bash_functions.save .bash_aliases.save
		;;
	
	*) echo "Invalid parameter"
		;;
		
esac

Wenn dir das Uberspace-Init Script gefällt darfst du es gerne unter den Bedingungen der GNU GPLv3 weiterverwenden. Du findest es unter https://gist.github.com/golderweb/4feb43ed41b49bd7bc27. Einfach den Quelltext kopieren, mit git clonen oder einen Github-Fork erstellen.

Dieser Beitrag wurde am von in Uberspace veröffentlicht. Schlagworte: , , , .

Über Jonathan Golder

Im Jahr 2010 hat mich das WordPress Fieber erfasst, als ich zum ersten mal ein kleineres Webprojekt realisiert habe. Seither ist WordPress zu einem schönen Hobby geworden. An Wordpress gefällt mir die große Freiheit sowie die Möglichkeit durch Pugins nahezu alles nachrüsten zu können. Außerdem beschäftige ich mich mit vielem was frei und quelloffen ist.