Skriptsammlung

Aus Geekbox Wiki
Version vom 15. Februar 2012, 19:48 Uhr von Felix (Diskussion | Beiträge) (Inhaltsverzeichnis erzwungen)

Wechseln zu: Navigation, Suche

Unicrawler ohne Moodle

#!/bin/sh -e

function_load(){
	cd "${1}" && shift && wget --accept pdf,PDF --execute robots=off --continue --level 1 --no-directories --no-verbose --recursive --timestamping --user-agent "Mozilla/5.001 (windows; U; NT4.0; en-us) Gecko/25250101" "${@}"
}

function_load "${HOME}/Dokumente/Studium/Unterlagen/SS_2011/TDK" \
	--password="*****" \
	"http://dante.phys.chemie.tu-muenchen.de/de/vorlesung/pc1/SS2011/materialienSS2011.html" \


function_load "${HOME}/Dokumente/Studium/Unterlagen/SS_2011/IT II/Vorlesung" \
	--user="VorlesungIT" --password="*****" \
	"http://download.ais.mw.tum.de/IT/index.php?folder=Vm9ybGVzdW5n" \


function_load "${HOME}/Dokumente/Studium/Unterlagen/SS_2011/Bio" \
	--user="Chemiker" --password="******" \
	"ftp://anakin.biotech.ch.tum.de/Chemie/Biologie%20fuer%20Chemiker/" \


function_load "${HOME}/Dokumente/Studium/Unterlagen/SS_2011/HM II/Vorlesung" \
	--user="HM" --password="*****" \
	"http://www.ma.tum.de/HM/MW2SoSe11/Inhalt" \

Onlinefestplatten

#!/bin/bash

########################################################################
#                                                                      #
#                             Funktionen                               #
#                                                                      #
########################################################################

fqmodus()		#Funktion: Modus abfragen
{
echo "Skript zum Anzeigen, Mounten und Unmounten von Onlinefestplatten"
read -p " Anzeigen (a), Mount (m) oder Unmount (u): " modus
}


fqplatte()		#Funktion: Platte abfragen
{
echo "Zur Auswahl stehen geekbox, t-online und MWN"
read -p " Gib die gewünschte Platte ein: " platte
}


fqnochmal()		#Funktion: Abfrage ob nochmal
{
read -p " Fertig? (y/n) " fertig
if [ "$fertig" == "y" ] || [ "$fertig" == "Y" ] || [ "$fertig" == "j" ] || [ "$fertig" == "J" ] || [ "$fertig" == "1" ]; then
	clear
	exit
else
	fhaupt
fi
}


fanzeigen()		#Funktion: eingehängte Platten anzeigen
{
if [ "$(df -h | grep 'geekbox\|WebDAV\|MWN')" ]; then
	df -h | grep 'geekbox\|WebDAV\|MWN'
else
	echo "Kein Verzeichnis eingehängt"
fi
fqnochmal
}

fpruef()
{
if [ "$(df | grep $1)" ]; then
	echo "Warnung: $1 ist bereits eingehängt"
	read -p " Trotzdem einhängen? (y/n) " trotzdem
	if !([ "$fertig" == "y" ] || [ "$fertig" == "Y" ] || [ "$fertig" == "j" ] || [ "$fertig" == "J" ] || [ "$fertig" == "1" ]); then
		fqnochmal
	fi
fi
}


fmount()		#Funktion: Einhängen
{
case "$platte" in
	geekbox|g)	#geekbox einhängen
		fpruef /media/geekbox
		sshfs <name>@geekbox.info:/ /media/geekbox
		if [ "$(df | grep /media/geekbox)" ]; then
			echo "/media/geekbox erfolgreich eingehängt"
		else
			echo "/media/geekbox wurde nicht eingehängt"
		fi
		;;
	t-online|t)	#t-online einhängen
		fpruef /media/WebDAV
		sudo mount -t davfs -o username=<username> https://webdav.mediencenter.t-online.de/ /media/WebDAV
		if [ "$(df | grep /media/WebDAV)" ]; then
			echo "/media/WebDAV erfolgreich eingehängt"
		else
			echo "/media/WebDAV wurde nicht eingehängt"
		fi
		;;
	MWN|mwn|M|m)	#MWN einhängen
		fpruef /media/MWN
		if [ "$(ps ax | grep vpnc | grep -v grep)" ]; then	#Prüfen, ob eine VPN-Verbindung zum MWN besteht
			sudo mount -t cifs -o username=<LRZ-Kennung>,domain=ADS //nas.ads.mwn.de/<LRZ-Kennung> /media/MWN/
			if [ "$(df | grep /media/MWN)" ]; then
				echo "/media/MWN/ erfolgreich eingehängt"
			else
				echo "/media/MWN/ wurde nicht eingehängt. VPN zum MWN?"
			fi
		else
			echo "Es besteht keine VPN-Verbindung zum MWN. Diese wird jetzt aufgebaut."
			sudo vpnc mwn					#VPN-Verbindung zum MWN herstellen
			sudo mount -t cifs -o username=<LRZ-Kennung>,domain=ADS //nas.ads.mwn.de/<LRZ-Kennung> /media/MWN/
			if [ "$(df | grep /media/MWN)" ]; then
				echo "/media/MWN/ erfolgreich eingehängt"
			else
				echo "/media/MWN/ wurde nicht eingehängt."
			fi
		fi
		;;
	*)		#Fehleingabe abfangen
		echo $platte "steht nicht zur Auswahl!"
		;;
esac
}


funmount()		#Funktion: Aushängen
{
case "$platte" in
	geekbox|g)	#geekbox aushängen
		fusermount -u /media/geekbox
		if [ "$(df | grep /media/geekbox)" ]; then
			echo "/media/geekbox wurde nicht ausgehängt"
		else
			echo "/media/geekbox erfolgreich ausgehängt"
		fi
		;;
	t-online|t)	#t-online aushängen
		sudo umount /media/WebDAV
		if [ "$(df | grep /media/WebDAV)" ]; then
			echo "/media/WebDAV wurde nicht ausgehängt"
		else
			echo "/media/WebDAV erfolgreich ausgehängt"
		fi
		;;
	MWN|mwn|M|m)	#MWN aushängen
		sudo umount /media/MWN
		if [ "$(df | grep /media/MWN/)" ]; then
			echo "/media/MWN/ wurde nicht ausgehängt"
		else
			echo "/media/MWN/ erfolgreich ausgehängt"
		fi
		;;
	*)		#Fehleingabe abfangen
		echo $platte "steht nicht zur Auswahl!"
		;;
esac
}


fhaupt()
{
clear			#Ausgabe leeren

fqmodus			#Modus abfragen

if [ "$modus" == "a" ] || [ "$modus" == "A" ]; then		#Falls Modus = Anzeigen -> Anzeigen
	fanzeigen
fi

fqplatte		#Platte abfragen
if [ "$modus" == "m" ] || [ "$modus" == "M" ]; then		#Falls Modus = Einhängen -> Einhängen
	fmount
elif [ "$modus" == "u" ] || [ "$modus" == "U" ]; then		#Falls Modus = Aushängen -> Aushängen
	funmount
else								#Falscheingaben
	echo "Dieser Modus steht nicht zur Auswahl!"
fi

fqnochmal		#Nochmal von vorne?
}



########################################################################
#                                                                      #
#                               Main                                   #
#                                                                      #
########################################################################

fhaupt

altes Minecraft-über-Hamachi-Skript

#!/bin/bash

########################################################################
#                                                                      #
#                           Konfiguration                              #
#                                                                      #
########################################################################

#IP des Servers
IP="5.175.47.155"
#DynDns des Servers
DNS="upperclass.dyndns.tv"
#Zeit zwischen den Pings
PAUSE=3
#wie viele Fehler vor reconnect
TOLERANZ=2




########################################################################
#                                                                      #
#                           DynDNS testen                              #
#                                                                      #
########################################################################

if ping -c 1 -w 1 $DNS > /dev/null; then
    DYNDNS=true
  else 
    DYNDNS=false
fi


########################################################################
#                                                                      #
#                           Spiel starten                              #
#                                                                      #
########################################################################

if $DYNDNS; then
    echo "************ DynDNS verwenden:" $DNS "************"
  else
    echo "************ Hamachi verwenden:" $IP "************"
    if ! ping -c 1 -w 1 $IP > /dev/null; then
  
      gksudo tuncfg
      hamachi go-offline oel_di_ei
      hamachi logout
      hamachi stop
      hamachi start
      hamachi login
      hamachi go-online oel_di_ei
      hamachi get-nicks
      #hamachi list
    fi
fi

cd ~/Dokumente/Spiele
java -jar /home/felix/Dokumente/Spiele/minecraft.jar &





########################################################################
#                                                                      #
#                     Verbindungsüberwachung                           #
#                                                                      #
########################################################################

#Script
sleep 10
FEHLER=0
if $DYNDNS; then 
    
    while true; do
      if ! ping -c 1 -w 1 $DNS > /dev/null; then
          FEHLER=$((FEHLER+1))
        else
          FEHLER=0
      fi;
      if [ $FEHLER -eq $TOLERANZ ]; then
        echo "************ DynDNS-Verbindung unterbrochen ************"
	FEHLER=0
      fi
      sleep $PAUSE;
    done

  else

    while true; do
      if ! ping -c 1 -w 1 $IP > /dev/null; then
          FEHLER=$((FEHLER+1))
        else
          FEHLER=0
      fi;
      if [ $FEHLER -eq $TOLERANZ ]; then
    
	echo "************ Hamachi-Verbindung unterbrochen -> reconnecting ************"
        gksudo tuncfg
        hamachi go-offline oel_di_ei
        hamachi logout
        hamachi stop
        hamachi start
        hamachi login
        hamachi go-online oel_di_ei
        hamachi get-nicks
        #hamachi list
    
      fi
      sleep $PAUSE;
    done

fi