Skriptsammlung: Unterschied zwischen den Versionen

Aus Geekbox Wiki
Wechseln zu: Navigation, Suche
(→‎Onlinefestplatten: weitere Verbesserung)
K (→‎altes Minecraft-über-Hamachi-Skript)
Zeile 201: Zeile 201:
   
 
#IP des Servers
 
#IP des Servers
−
IP="5.175.47.155"
+
IP="<IP>"
 
#DynDns des Servers
 
#DynDns des Servers
−
DNS="upperclass.dyndns.tv"
 
  +
DNS="<DynDns>"
  +
#Hamachi Netzwerkname
  +
HAHACHI="<Netzwerkname>"
 
#Zeit zwischen den Pings
 
#Zeit zwischen den Pings
 
PAUSE=3
 
PAUSE=3
Zeile 219: Zeile 221:
   
 
if ping -c 1 -w 1 $DNS > /dev/null; then
 
if ping -c 1 -w 1 $DNS > /dev/null; then
−
DYNDNS=true
+
DYNDNS=true
−
else
+
else
−
DYNDNS=false
+
DYNDNS=false
 
fi
 
fi
   
Zeile 232: Zeile 234:
   
 
if $DYNDNS; then
 
if $DYNDNS; then
−
echo "************ DynDNS verwenden:" $DNS "************"
+
echo "************ DynDNS verwenden:" $DNS "************"
−
else
+
else
−
echo "************ Hamachi verwenden:" $IP "************"
+
echo "************ Hamachi verwenden:" $IP "************"
−
if ! ping -c 1 -w 1 $IP > /dev/null; then
+
if ! ping -c 1 -w 1 $IP > /dev/null; then
−
+
gksudo tuncfg
−
gksudo tuncfg
+
hamachi go-offline $HAHACHI
−
hamachi go-offline oel_di_ei
+
hamachi logout
−
hamachi logout
+
hamachi stop
−
hamachi stop
+
hamachi start
−
hamachi start
+
hamachi login
−
hamachi login
+
hamachi go-online $HAHACHI
−
hamachi go-online oel_di_ei
+
hamachi get-nicks
−
hamachi get-nicks
+
#hamachi list
−
#hamachi list
+
fi
−
fi
 
 
fi
 
fi
   
−
cd ~/Dokumente/Spiele
 
  +
java -jar <Pfad>/minecraft.jar &
−
java -jar /home/felix/Dokumente/Spiele/minecraft.jar &
 
−  
−  
   
   
Zeile 261: Zeile 260:
 
########################################################################
 
########################################################################
   
−
#Script
 
 
sleep 10
 
sleep 10
 
FEHLER=0
 
FEHLER=0
 
if $DYNDNS; then
 
if $DYNDNS; then
−
 
  +
while true; do
−
while true; do
 
  +
if ! ping -c 1 -w 1 $DNS > /dev/null; then
−
if ! ping -c 1 -w 1 $DNS > /dev/null; then
 
  +
FEHLER=$((FEHLER+1))
−
FEHLER=$((FEHLER+1))
 
  +
else
−
else
 
  +
FEHLER=0
−
FEHLER=0
 
  +
fi
−
fi;
 
  +
if [ $FEHLER -eq $TOLERANZ ]; then
−
if [ $FEHLER -eq $TOLERANZ ]; then
 
  +
echo "************ DynDNS-Verbindung unterbrochen ************"
−
echo "************ DynDNS-Verbindung unterbrochen ************"
 
  +
FEHLER=0
−
FEHLER=0
 
  +
fi
−
fi
 
  +
sleep $PAUSE
−
sleep $PAUSE;
 
  +
done
−
done
 
  +
else
−  
  +
while true; do
−
else
 
  +
if ! ping -c 1 -w 1 $IP > /dev/null; then
−  
  +
FEHLER=$((FEHLER+1))
−
while true; do
 
  +
else
−
if ! ping -c 1 -w 1 $IP > /dev/null; then
 
  +
FEHLER=0
−
FEHLER=$((FEHLER+1))
 
  +
fi
−
else
 
  +
if [ $FEHLER -eq $TOLERANZ ]; then
−
FEHLER=0
 
  +
echo "************ Hamachi-Verbindung unterbrochen -> reconnecting ************"
−
fi;
 
  +
gksudo tuncfg
−
if [ $FEHLER -eq $TOLERANZ ]; then
 
  +
hamachi go-offline $HAHACHI
−
 
  +
hamachi logout
−
echo "************ Hamachi-Verbindung unterbrochen -> reconnecting ************"
 
  +
hamachi stop
−
gksudo tuncfg
 
  +
hamachi start
−
hamachi go-offline oel_di_ei
 
  +
hamachi login
−
hamachi logout
 
  +
hamachi go-online $HAHACHI
−
hamachi stop
+
hamachi get-nicks
−
hamachi start
+
#hamachi list
−
hamachi login
+
fi
−
hamachi go-online oel_di_ei
+
sleep $PAUSE
−
hamachi get-nicks
+
done
−
#hamachi list
 
−
 
−
fi
 
−
sleep $PAUSE;
 
−
done
 
−  
 
fi
 
fi
 
</source>
 
</source>

Version vom 19. Februar 2012, 17:45 Uhr

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
			nohup sshfs <username>@geekbox.info:/ /media/geekbox > /dev/null 2>&1
			ftest $modus /media/geekbox
		fi
		;;
	t-online|t)					#t-online einhängen
		if fpruef /media/WebDAV; then
			nohup sudo mount -t davfs -o username=<username> https://webdav.mediencenter.t-online.de/ /media/WebDAV > /dev/null 2>&1
			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
				echo "Es besteht keine VPN-Verbindung zum MWN. Diese wird jetzt aufgebaut."
				nohup sudo vpnc <entsprechnde vpnc.conf> > /dev/null 2>&1		#VPN-Verbindung zum MWN herstellen
			fi
			nohup sudo mount -t cifs -o username=<LRZ-Kennung>,domain=ADS //nas.ads.mwn.de/<LRZ-Kennung> /media/MWN > /dev/null 2>&1
			ftest $modus /media/MWN
		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="<IP>"
#DynDns des Servers
DNS="<DynDns>"
#Hamachi Netzwerkname
HAHACHI="<Netzwerkname>"
#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 $HAHACHI
		hamachi logout
		hamachi stop
		hamachi start
		hamachi login
		hamachi go-online $HAHACHI
		hamachi get-nicks
		#hamachi list
	fi
fi

java -jar <Pfad>/minecraft.jar &



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

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 $HAHACHI
			hamachi logout
			hamachi stop
			hamachi start
			hamachi login
			hamachi go-online $HAHACHI
			hamachi get-nicks
			#hamachi list
		fi
		sleep $PAUSE
	done
fi