Skriptsammlung: Unterschied zwischen den Versionen
Aus Geekbox Wiki
Felix (Diskussion | Beiträge) K (Kategorie hinzugefügt) |
Felix (Diskussion | Beiträge) (→Onlinefestplatten: Skript verbessert) |
||
| Zeile 38: | Zeile 38: | ||
######################################################################## |
######################################################################## |
||
| − | fqmodus() #Funktion: Modus abfragen |
+ | function fqmodus() #Funktion: Modus abfragen |
{ |
{ |
||
echo "Skript zum Anzeigen, Mounten und Unmounten von Onlinefestplatten" |
echo "Skript zum Anzeigen, Mounten und Unmounten von Onlinefestplatten" |
||
| Zeile 45: | Zeile 45: | ||
| − | fqplatte() #Funktion: Platte abfragen |
+ | function fqplatte() #Funktion: Platte abfragen |
{ |
{ |
||
echo "Zur Auswahl stehen geekbox, t-online und MWN" |
echo "Zur Auswahl stehen geekbox, t-online und MWN" |
||
| Zeile 52: | Zeile 52: | ||
| − | fqnochmal() #Funktion: Abfrage ob nochmal |
+ | function fqnochmal() #Funktion: Abfrage ob nochmal |
{ |
{ |
||
read -p " Fertig? (y/n) " fertig |
read -p " Fertig? (y/n) " fertig |
||
| − | if [ "$fertig" == "y" ] || [ "$fertig" == "Y" ] || [ "$fertig" == "j" ] || [ "$fertig" == "J" ] || [ "$fertig" == "1" ]; then |
||
| + | if [ "$fertig" == "y" ]; then return 1; fi |
||
| − | clear |
||
| − | exit |
||
| − | else |
||
| − | fhaupt |
||
| − | fi |
||
} |
} |
||
| − | fanzeigen() #Funktion: eingehängte Platten anzeigen |
+ | function fanzeigen() #Funktion: eingehängte Platten anzeigen |
{ |
{ |
||
if [ "$(df -h | grep 'geekbox\|WebDAV\|MWN')" ]; then |
if [ "$(df -h | grep 'geekbox\|WebDAV\|MWN')" ]; then |
||
| Zeile 71: | Zeile 66: | ||
echo "Kein Verzeichnis eingehängt" |
echo "Kein Verzeichnis eingehängt" |
||
fi |
fi |
||
| − | fqnochmal |
||
} |
} |
||
| − | fpruef() |
||
| + | |||
| + | function fpruef() #Funktion: Prüfen, ob Mountpoint belegt |
||
{ |
{ |
||
if [ "$(df | grep $1)" ]; then |
if [ "$(df | grep $1)" ]; then |
||
echo "Warnung: $1 ist bereits eingehängt" |
echo "Warnung: $1 ist bereits eingehängt" |
||
read -p " Trotzdem einhängen? (y/n) " trotzdem |
read -p " Trotzdem einhängen? (y/n) " trotzdem |
||
| − | if !([ "$fertig" == "y" ] || [ "$fertig" == "Y" ] || [ "$fertig" == "j" ] || [ "$fertig" == "J" ] || [ "$fertig" == "1" ]); then |
||
| + | if [ "$trotzdem" == "y" ]; then return 0; fi |
||
| − | fqnochmal |
||
| + | return 1 |
||
| − | fi |
||
fi |
fi |
||
| + | return 0 |
||
} |
} |
||
| − | fmount() #Funktion: Einhängen |
||
| + | function ftest() #Funktion: Testen, ob wirklich ein/ausgehängt |
||
{ |
{ |
||
| − | case "$ |
+ | case "$1" in |
| − | + | m) |
|
| − | + | if [ "$(df | grep $2)" ]; then |
|
| − | + | echo "$2 erfolgreich eingehängt" |
|
| − | if [ "$(df | grep /media/geekbox)" ]; then |
||
| − | echo "/media/geekbox erfolgreich eingehängt" |
||
else |
else |
||
| − | echo " |
+ | echo "$2 wurde nicht eingehängt" |
fi |
fi |
||
;; |
;; |
||
| − | t-online|t) #t-online einhängen |
||
| + | u) |
||
| − | fpruef /media/WebDAV |
||
| + | if [ "$(df | grep $2)" ]; then |
||
| − | sudo mount -t davfs -o username=<username> https://webdav.mediencenter.t-online.de/ /media/WebDAV |
||
| + | echo "$2 wurde nicht ausgehängt" |
||
| − | if [ "$(df | grep /media/WebDAV)" ]; then |
||
| − | echo "/media/WebDAV erfolgreich eingehängt" |
||
else |
else |
||
| − | echo "/media/WebDAV wurde nicht eingehängt" |
||
| + | echo "$2 erfolgreich ausgehängt" |
||
fi |
fi |
||
;; |
;; |
||
| − | MWN|mwn|M|m) #MWN einhängen |
||
| + | esac |
||
| − | 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 |
||
| + | function fmount() #Funktion: Einhängen |
||
| − | echo "/media/MWN/ erfolgreich eingehängt" |
||
| + | { |
||
| − | else |
||
| + | case "$platte" in |
||
| − | echo "/media/MWN/ wurde nicht eingehängt. VPN zum MWN?" |
||
| + | geekbox|g) #geekbox einhängen |
||
| − | fi |
||
| + | if fpruef /media/geekbox; then |
||
| − | else |
||
| + | sshfs <username>@geekbox.info:/ /media/geekbox |
||
| − | echo "Es besteht keine VPN-Verbindung zum MWN. Diese wird jetzt aufgebaut." |
||
| + | ftest $modus /media/geekbox |
||
| − | sudo vpnc mwn #VPN-Verbindung zum MWN herstellen |
||
| + | fi |
||
| − | sudo mount -t cifs -o username=<LRZ-Kennung>,domain=ADS //nas.ads.mwn.de/<LRZ-Kennung> /media/MWN/ |
||
| + | ;; |
||
| − | if [ "$(df | grep /media/MWN)" ]; then |
||
| + | t-online|t) #t-online einhängen |
||
| − | echo "/media/MWN/ erfolgreich eingehängt" |
||
| + | 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 |
else |
||
| − | echo "/media/MWN/ wurde nicht eingehängt." |
||
| + | 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 |
||
fi |
fi |
||
;; |
;; |
||
| − | *) #Fehleingabe abfangen |
+ | *) #Fehleingabe abfangen |
echo $platte "steht nicht zur Auswahl!" |
echo $platte "steht nicht zur Auswahl!" |
||
;; |
;; |
||
| Zeile 132: | Zeile 137: | ||
| − | funmount() #Funktion: Aushängen |
+ | function funmount() #Funktion: Aushängen |
{ |
{ |
||
case "$platte" in |
case "$platte" in |
||
| − | geekbox|g) #geekbox aushängen |
+ | geekbox|g) #geekbox aushängen |
fusermount -u /media/geekbox |
fusermount -u /media/geekbox |
||
| − | + | ftest $modus /media/geekbox |
|
| − | echo "/media/geekbox wurde nicht ausgehängt" |
||
| − | else |
||
| − | echo "/media/geekbox erfolgreich ausgehängt" |
||
| − | fi |
||
;; |
;; |
||
| − | t-online|t) #t-online aushängen |
+ | t-online|t) #t-online aushängen |
sudo umount /media/WebDAV |
sudo umount /media/WebDAV |
||
| − | + | ftest $modus /media/WebDAV |
|
| − | echo "/media/WebDAV wurde nicht ausgehängt" |
||
| − | else |
||
| − | echo "/media/WebDAV erfolgreich ausgehängt" |
||
| − | fi |
||
;; |
;; |
||
| − | MWN|mwn|M|m) #MWN aushängen |
+ | MWN|mwn|M|m) #MWN aushängen |
sudo umount /media/MWN |
sudo umount /media/MWN |
||
| − | + | ftest $modus /media/MWN |
|
| − | echo "/media/MWN/ wurde nicht ausgehängt" |
||
| − | else |
||
| − | echo "/media/MWN/ erfolgreich ausgehängt" |
||
| − | fi |
||
;; |
;; |
||
| − | *) #Fehleingabe abfangen |
+ | *) #Fehleingabe abfangen |
echo $platte "steht nicht zur Auswahl!" |
echo $platte "steht nicht zur Auswahl!" |
||
;; |
;; |
||
esac |
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? |
||
} |
} |
||
| Zeile 184: | Zeile 166: | ||
######################################################################## |
######################################################################## |
||
| − | fhaupt |
||
| + | 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 |
||
</source> |
</source> |
||
Version vom 17. Februar 2012, 12:57 Uhr
Inhaltsverzeichnis
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