Skriptsammlung

Aus Geekbox Wiki
Version vom 17. Februar 2012, 12:57 Uhr von Felix (Diskussion | Beiträge) (→‎Onlinefestplatten: Skript verbessert)

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                               #
#                                                                      #
########################################################################

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


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


function fqnochmal()		#Funktion: Abfrage ob nochmal
{
read -p " Fertig? (y/n) " fertig
if [ "$fertig" == "y" ]; then return 1; fi
}


function 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
}


function fpruef()		#Funktion: Prüfen, ob Mountpoint belegt
{
if [ "$(df | grep $1)" ]; then
	echo "Warnung: $1 ist bereits eingehängt"
	read -p " Trotzdem einhängen? (y/n) " trotzdem
	if [ "$trotzdem" == "y" ]; then return 0;	fi
	return 1
fi
return 0
}


function ftest()		#Funktion: Testen, ob wirklich ein/ausgehängt
{
case "$1" in
	m)
		if [ "$(df | grep $2)" ]; then
			echo "$2 erfolgreich eingehängt"
		else
			echo "$2 wurde nicht eingehängt"
		fi
		;;
	u)
		if [ "$(df | grep $2)" ]; then
			echo "$2 wurde nicht ausgehängt"
		else
			echo "$2 erfolgreich ausgehängt"
		fi
		;;
esac
}


function fmount()		#Funktion: Einhängen
{
case "$platte" in
	geekbox|g)					#geekbox einhängen
		if fpruef /media/geekbox; then
			sshfs <username>@geekbox.info:/ /media/geekbox
			ftest $modus /media/geekbox
		fi
		;;
	t-online|t)					#t-online einhängen
		if fpruef /media/WebDAV; then
			sudo mount -t davfs -o username=<username> https://webdav.mediencenter.t-online.de/ /media/WebDAV
			ftest $modus /media/WebDAV
		fi
		;;
	MWN|mwn|M|m)					#MWN einhängen
		if fpruef /media/MWN; then
			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
				ftest $modus /media/MWN
			else
				echo "Es besteht keine VPN-Verbindung zum MWN. Diese wird jetzt aufgebaut."
				sudo vpnc <entsprechnde vpnc.conf>		#VPN-Verbindung zum MWN herstellen
				sudo mount -t cifs -o username=<LRZ-Kennung>,domain=ADS //nas.ads.mwn.de/<LRZ-Kennung> /media/MWN
				ftest $modus /media/MWN
			fi
		fi
		;;
	*)						#Fehleingabe abfangen
		echo $platte "steht nicht zur Auswahl!"
		;;
esac
}


function funmount()		#Funktion: Aushängen
{
case "$platte" in
	geekbox|g)					#geekbox aushängen
		fusermount -u /media/geekbox
		ftest $modus /media/geekbox
		;;
	t-online|t)					#t-online aushängen
		sudo umount /media/WebDAV
		ftest $modus /media/WebDAV
		;;
	MWN|mwn|M|m)					#MWN aushängen
		sudo umount /media/MWN
		ftest $modus /media/MWN
		;;
	*)						#Fehleingabe abfangen
		echo $platte "steht nicht zur Auswahl!"
		;;
esac
}



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

while true; do
	clear
	fqmodus					#Modus abfragen

	case "$modus" in 
		a)
			fanzeigen		#Anzeigen
			;;
		m)
			fqplatte		#Platte abfragen
			fmount			#Einhängen
			;;
		u)
			fqplatte		#Platte abfragen
			funmount		#Aushängen
			;;
		*)
			echo "Dieser Modus steht nicht zur Auswahl!"	#Falscheingaben
			;;
	esac

	if ! fqnochmal; then break; fi		#Nochmal von vorne?
done

clear

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