Montag, 24. Juni 2013

Erstelle eine eigene dynamische motd für dein Linux Debian Mint ssh login


Hier eine kleine Schritt für Schritt Anleitung wie man eine dynamische motd kreiert die beim Login angezeigt wird. Mein Beispielskript liest den Hostnamen, den Namen der Linux Distribution, die Kernelversion, wann der Rechner gebootet hat, wie lange es schon läuft, wann er installiert wurde, wie viele Reboots schon gemacht wurden, was für ein CPU drin ist, wie warm der CPU ist, wieviel freier RAM und Total RAM, wieviel Diskspace (hier mein RAID und meine SSD), die durchschnittliche Last für 1,5,und 15 min, wieviele Prozesse das laufen und welche davon von euch sind, welche interne und externe IP ihr habt, welche SSH terminal nummer ihr habt, welche User eingeloggt sind und wieviele es total sind, wann ihr euch zuletzt eingeloggt habt und wie das Wetter bei euch ist. Dann kommt noch eine netter Random Text und es wird noch gemessen wie lange es ging die Informationen zu erstellen und es gibt eine Progressbar. Ausserdem wird man je nach Tageszeit anders begrüsst (Good evening, Good morning,..)

Die Informationen werden mit einem bash Skript ausgelesen. Die eigentliche motd wird einfach geleert. Wenn ihr noch nicht so fit seit mit Konsolentexteditoren, dann solltet ihr das ganze in einem grafischen Editor machen geht einfacher. Sollte eigentlich auch für Ubuntu und Rasperry pi gehen.

1. Schritt - Die alte Motd entfernen


Damit die Motd auch nach dem Reboot wieder gleich bleibt muss man den Symbolischen Link zerstören.

Zuerst mal eine Backup der alten Dateien, damit ihr wieder den ursprünglichen Zustand herstellen könnt, falls was schiefgeht.

 sudo mv /etc/motd.tail /etc/motd.tail.bak 
 sudo mv /etc/motd /etc/motd.bak 
 sudo mv /var/run/motd /var/run/motd.bak 

Dann die Dateien löschen:

 sudo rm /etc/motd.tail   
 sudo rm /etc/motd  
 sudo rm /var/run/motd   

Dann die Dateien wieder erstellen, aber leer.

 sudo nano /etc/motd.tail   
 sudo nano /etc/motd  
 sudo nano /var/run/motd   

2. Schritt - Eine Skript Datei erstellen und ausführbar machen


Erstellt erst mal eine leere Datei mit folgendem Inhalt:
 #!/bin/bash  
 #Mein erstes Skript  

Das geht so, und dann gleich ausführbar machen:
 sudo nano /usr/local/bin/neuemotd.sh  
 sudo chmod +x /usr/local/bin/neuemotd.sh  

Dieses Skript nun in die Datei /etc/profile reintun damit sie bei jedem login angezeigt wird.

 sudo nano /etc/profile  

Einfach am Ende der Datei folgendes einfügen:

 /usr/local/bin/neuemotd.sh  

Und schon habt ihr ein Skript das ihr nach euren Ideen gestalten könnt. Oder ihr seit faul und kopiert einfach weiter unten das Skript was ich schon gemacht habe. Allerdings kann es sein das es in deiner Distro vielleicht nicht funktioniert ;)

3. Schritt - Ein nettes ASCII Art Logo


Geht auf eine Webseite die ASCII Art generiert, oder sucht euch ein nettes Linux ASCII logo.
http://www.network-science.de/ascii/


Dann nehmt das und schreibt das mit echo Befehlen in das Skript
 sudo nano /usr/local/bin/neuemotd.sh 

Hier das was ich verwendet habe:
 echo -e "\n";  
 echo -e "\033[1;31m     _,met\$\$\$\$\$gg.";  
 echo -e "    ,g\$\$\$\$\$\$\$\$\$\$\$\$\$\$\$P.";  
 echo -e "   ,g\$\$P\"\"    \"\"\"Y\$\$.\".";  
 echo -e "  ,\$\$P'       \`\$\$\$.";  
 echo -e " ',\$\$P    ,ggs.   \`\$\$b:";  
 echo -e " \`d\$\$'   ,\$P\"'  .  \$\$\$";  
 echo -e "  \$\$P   d\$'   ,  \$\$P";  
 echo -e "  \$\$:   \$\$.  -  ,d\$\$'   ";  
 echo -e "  \$\$;   Y\$b._  _,d\$P'  \033[0m   _,      _,   ,'\`.";  
 echo -e "\033[1;31m  Y\$\$.  \`.\`\"Y\$\$\$\$P\"'\033[0m     \`\$\$'     \`\$\$'   \`. ,'";  
 echo -e "\033[1;31m  \`\$\$b   \"-.__      \033[0m  \$\$      \$\$    \`'";  
 echo -e "\033[1;31m  \`Y\$\$b           \033[0m  \$\$      \$\$     _,      _";  
 echo -e "\033[1;31m   \`Y\$\$.        \033[0m ,d\$\$\$g\$\$ ,d\$\$\$b. \$\$,d\$\$\$b.\`\$\$' g\$\$\$\$\$b.\`\$\$,d\$\$b.";  
 echo -e "\033[1;31m    \`\$\$b.     \033[0m  ,\$P' \`\$\$ ,\$P' \`Y\$. \$\$\$' \`\$\$ \$\$ \"'  \`\$\$ \$\$\$' \`\$\$";  
 echo -e "\033[1;31m     \`Y\$\$b.   \033[0m   \$\$'  \$\$ \$\$'  \`\$\$ \$\$'  \$\$ \$\$ ,ggggg\$\$ \$\$'  \$\$";  
 echo -e "\033[1;31m      \`\"Y\$b._   \033[0m  \$\$   \$\$ \$\$ggggg\$\$ \$\$   \$\$ \$\$ ,\$P\"  \$\$ \$\$  \$\$";  
 echo -e "\033[1;31m        \`\"\"\"\"  \033[0m \$\$  ,\$\$ \$\$.    \$\$  ,\$P \$\$ \$\$'  ,\$\$ \$\$  \$\$";  
 echo -e "\033[0m             \`\$g. ,\$\$\$ \`\$\$._ _., \$\$ _,g\$P' \$\$ \`\$b. ,\$\$\$ \$\$  \$\$";  
 echo -e "              \`Y\$\$P'\$\$. \`Y\$\$\$\$P',\$\$\$\$P\"' ,\$\$. \`Y\$\$P'\$\$.\$\$. ,\$\$.";  
 echo -e "\n";  

Das könnt ihr nun gleich ausprobieren in dem ihr in der Konsole folgendes schreibt:
 /usr/local/bin/neuemotd.sh   

4. Schritt - Informationen auslesen.


Die Infos werden zuerst ausgelesen und einer Variablen zugewiesen, die dann unten ausgegeben wird.
Hier die Ausgabe der Variablen, das kopiert ihr unter die ASCII Kunst:

 echo -e "  
                     \033[1;34m$HELLOSTRING $WHOAMI!\033[0;37m   
 \033[0;37m+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
 \033[0;37m+  \033[1;31mHostname....: \033[0m$HOSTN  
 \033[0;37m+  \033[1;31mDistro......: \033[0m$DISTRO1 $DISTRO2 $DISTRO3  
 \033[0;37m+  \033[1;31mKernel......: \033[0m$KERNEL  
 \033[0;37m+  \033[1;31mBoottime....: \033[0m$BOOTTIME  
 \033[0;37m+  \033[1;31mUptime......:\033[0m$UPTIME  
 \033[0;37m+  \033[1;31mInstalled...: \033[0m$INSTALLED  
 \033[0;37m+  \033[1;31mReboots.....: \033[0m$REBOOT  
 \033[0;37m+  \033[1;31mCPU.........: \033[0m$CPU  
 \033[0;37m+  \033[1;31mCPU Temp....: \033[0m$CPUTEMP  
 \033[0;37m+  \033[1;31mMemory......: \033[0m$MEMORY1 MB (Free) / $MEMORY2 MB (Total)  
 \033[0;37m+  \033[1;31mRAID.(Data).: \033[0m$RAID2 TB (Free) / $RAID1 TB (Total)  
 \033[0;37m+  \033[1;31mDisk.(OS)...: \033[0m$DISK2 GB (Free) / $DISK1 TB (Total)  
 \033[0;37m+  \033[1;31mLoad........: \033[0m$LOAD  
 \033[0;37m+  \033[1;31mProcesses...: \033[0m$PROC1 (Total) $PROC2 ($WHOAMI)  
 \033[0;37m+  \033[1;31mIP Address..: \033[0m$IP1 and $IP2  
 \033[0;37m+  \033[1;31mNetwork.....: \033[0m$NETWORK  
 \033[0;37m+  \033[1;31mSSH tty.....: \033[0m$SSHTTY  
 \033[0;37m+  \033[1;31mUsers.......: \033[0m$USERS  
 \033[0;37m+  \033[1;31mLast login..: \033[0m$LAST  
 \033[0;37m+  \033[1;31mWeather.....: \033[0m$WEATHER  
 \033[0;37m++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
 "  
 echo -e "  
 $FORTUNE  
 $UPDATES  
 ";  

Die Zuweisungen fügt ihr oben nach #!/bin/bash #Mein erstes Skript ein. Achtung ihr müsst ein paar Dinge anpassen sonst funktioniert es bei euch nicht (richtig).


 echo -e "\n";  
 # Die Startzeit merken um die Gesamtzeit der Skriptausführung zu messen  
 start=`date +%s.%N`  
 # Die Begrüssungsnachrichten nach Tageszeit berechnen  
 check=`date +%H`  
 if [ $check -ge 06 -a $check -le 12 ]  
 then  
     HELLOSTRING="Good morning"  
 elif [ $check -ge 12 -a $check -le 17 ]  
 then  
     HELLOSTRING="Good afternoon"  
           else  
     HELLOSTRING="Good evening"  
 fi  
 #Hostname auslesen  
 HOSTN=`hostname`  
 #Name der Linux Distribution auslesen  
 DISTRO1=`lsb_release -s -d`   
 DISTRO2=`lsb_release -c | awk -F: '{print $2}' | sed -e 's/^[ \t]*//'`   
 DISTRO3=`cat /etc/debian_version`  
 #Kernel version auslesen  
 KERNEL=`uname -r`  
 #Zeit des aufstartens auslesen  
 BOOTTIME=`grep btime /proc/stat | cut -d ' ' -f2 | perl -MDate::Manip -lane 'printf "%s\n", UnixDate(ParseDateString("epoch $_"), "%c");'`  
 #Wie lange der Rechner schon läuft  
 UPTIME=`uptime | grep -Eo 'up .+ user' | sed -e 's/:/ hours /' -e 's/ min//' -re 's/^up\s+/\x1b[0;36m\x1b[0;37m /' | sed -re 's/,\s+[0-9]+ user$/ minutes/' -e 's/,//g' -e 's/00 minutes//' | sed -re 's/0([1-9] minutes)/\1/' -e 's/(1 hour)s/\1/' -e 's/(1 minute)s/\1/' | sed -e 's/^[ \t]*//'`  
 #Welcher CPU verbaut wurde  
 CPU=`cat /proc/cpuinfo | grep "model name" | awk -F: '{print $2}' | sed -n '1p' |sed -e 's/^[ \t]*//'`  
 #Die Temperatur der CPU  
 CPUTEMP=`sensors | grep "Physical id 0:" | awk -F: '{print $2}' | sed -e 's/^[ \t]*//'`  
 #Freier und Totaler RAM  
 MEMORY1=`cat /proc/meminfo|grep 'MemF'| awk '{print int($2/1000)}'`  
 MEMORY2=`cat /proc/meminfo|grep 'MemT'| awk '{print int($2/1000)}'`   
 #Freier und Totaler Diskspace, muss angepasst werden!!  
 #Gibt df-h ein und wählt aus welche Disk ihr anzeigen wollt  
 RAID1=`df -h | grep "md0" | awk '{print $2}' | sed 's/.$//'`  
 RAID2=`df -h | grep "md0" | awk '{print $4}' | sed 's/.$//'`  
 DISK1=`df -h | grep "rootfs" | awk '{print $2}' | sed 's/.$//'`  
 DISK2=`df -h | grep "rootfs" | awk '{print $4}' | sed 's/.$//'`  
 #Die durchschnittliche Systemlast der letzten 1,5 und 15 Minuten  
 LOAD=`cat /proc/loadavg | awk '{print $1" (1 minute) "$2" (5 minutes) "$3" (15 minutes)"}'`  
 #Totale Anzahl von Prozessen und Prozesse die mit deinem Login laufen.  
 PROC1=`ps -ef | wc -l | sed -e 's/^[ \t]*//'`  
 PROC2=`ps -u "$(echo $(w -h | cut -d ' ' -f1 | sort -u))" o user= | sort | uniq -c | sort -rn | awk '{print $1}' | sed -e 's/^[ \t]*//'`  
 #Die lokale und externe IP Adresse, wer wert auf Datenschutz legt sollte die Abfrage vielleicht weglassen.  
 IP1=`netstat -n -t | awk '{print $4}' | grep -o "[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*" | grep -v "127.0.0.1" | sort -u`  
 IP2=`wget -q -O - http://icanhazip.com/ | tail || No Network Connection!`  
 #Wieviel die ausgesuchte Netzwerkschnittstelle (hier eth1, evt anpassen) total Up und Down Traffic hat  
 NETWORK=`netstat -N -i | grep eth1 | awk '{if ($1 > 0 && $4 > 0) print $1,int($4/1000000)"GiB down",int($8/1000000)"GiB up"}' || No Connection!`  
 #Die Usernamen der eingeloggten User und die totale Anzahl der User.  
 USERS=`users | awk '{for(i=1;i<=NF;i++){a[$i]++}}END{for(i in a){print i"\t"a[i]}}' |sed -e 's/^[ \t]*//'`  
 #Wann dein letzter login war  
 LAST=`last -R $username | awk '{print $3,$4,$5,$6}' | sed -n '2p' |sed -e 's/^[ \t]*//'`  
 #Wetterdaten auslesen von accuweather, unbedingt den logCode anpassen!!! Hier wird das Wetter von Zürich angezeigt.  
 WEATHER=`curl -s "http://rss.accuweather.com/rss/liveweather_rss.asp?metric=1&locCode=EUR|CH|316622|ZURICH" | LANG=de_DE.UTF-8 sed -n '/Currently:/ s/.*: \(.*\): \([0-9]*\)\([C]\).*/\2°\3, \1/p'`  
 #Gibt die Sprüche unter den Informationen aus  
 FORTUNE=`/usr/games/fortune -as | sed "s/^/    /"`  
 #Gibt die Updates für das System aus falls es welche gibt  
 UPDATES=`apt-get --just-print upgrade 2>&1 | perl -ne 'if (/Inst\s([\w,\-,\d,\.,~,:,\+]+)\s\[([\w,\-,\d,\.,~,:,\+]+)\]\s\(([\w,\-,\d,\.,~,:,\+]+)\)? /i) {print "PROGRAM: $1 INSTALLED: $2 AVAILABLE: $3\n"}'`  
 #Gibt deinen Usernamen aus  
 WHOAMI=`whoami`  
 #Gibt deine SSH terminal nummer aus  
 SSHTTY=`printenv SSH_TTY`  
 #Diese info ist hier hardcoded, kann aber mit dem Skript unterhalb ausgelesen werden, braucht aber erweiterte Rechte.  
 INSTALLED="Wed Mar 27 21:16:26 2013"  
 #sudo tune2fs -l $(df -P / | tail -n1 | cut -d' ' -f1 ) | grep 'Filesystem created:'  
 #Hier wird ein Textfile ausgelesen das ein Skript erzeugt das beim Systemstart ausgeführt wird.  
 REBOOT=`cat /home/techii/bootcount.txt`  
 #Eine Linie abstand  
 echo -e "\n";  

Am Schluss wird noch das Ergebnis der Zeitberechnung ausgegeben:
 end=`date +%s.%N`  
 runtime=$(echo "$end - $start" | bc)  
 echo "Execution time was:" $runtime "seconds"  

5 Schritt - Das Rebootcounter Skript


Hier eine Anleitung wie man das Rebootzähl-Skript macht, ihr müsst hier und oben Anpassen wohin die Textdatei geschrieben und ausgelesen werden soll, hier ist es:
/home/techii/bootcount.txt
Ihr müsst die beiden Skripte  /usr/local/bin/bootcount.sh und /etc/init.d/bootcount erstellen und wie folgt anpassen:

 #! /bin/sh  
 # /usr/local/bin/bootcount.sh  
 #  
 #  
 # Load bootcount.txt and increment by 1 then exit  
 count=$( cat /home/techii/bootcount.txt )  
 echo $( expr $count + 1 ) > /home/techii/bootcount.txt  
 count2=$( cat /home/techii/bootcount.txt )  
 echo You rebootet $count2 times!  
 exit 0 
 
 #! /bin/sh  
 # /etc/init.d/bootcount  
 ### BEGIN INIT INFO  
 # Provides:     bootcount  
 # Required-Start:  $remote_fs $syslog  
 # Required-Stop:   $remote_fs $syslog  
 # Default-Start:   2 3 4 5  
 # Default-Stop:   0 1 6  
 # Short-Description: Simple script to start bootcount at boot and count the number of reboots  
 # Description:    A simple script which will start / stop a program a boot / shutdown.  
 ### END INIT INFO  
 # If you want a command to always run, put it here  
 # Carry out specific functions when asked to by the system  
 case "$1" in  
  start)  
   echo "Starting bootcount"  
   # run application you want to start  
   /usr/local/bin/bootcount.sh  
   ;;  
  stop)  
   echo "Stopping bootcount"  
   # kill application you want to stop  
   killall bootcount  
   ;;  
  *)  
   echo "Usage: /etc/init.d/bootcount {start|stop}"  
   exit 1  
   ;;  
 esac  
 exit 0  
 
#Macht das Skript ausführbar  
 sudo chmod 755 /etc/init.d/bootcount   
 sudo chmod 755 /usr/local/bin/bootcount.sh   
 #Testet das Programm  
 sudo /etc/init.d/bootcount start   
 #So stopt man es  
 sudo /etc/init.d/bootcount stop   
 #Registriert das Skript damit es beim Systemstart läuft  
 sudo update-rc.d bootcount defaults   
 #So könnte man es entfernen falls es nötig ist  
 sudo update-rc.d -f bootcount remove  

Hier noch das ganze Skript mit der Progress drin aber ohne die Kommentare: 


 #!/bin/bash  

 echo -e "\n";
 echo -ne '             \033[1;31m#           \033[0m( 5%)\r'  
 start=`date +%s.%N`  
 check=`date +%H`  
 if [ $check -ge 06 -a $check -le 12 ]  
 then  
     HELLOSTRING="Good morning"  
 elif [ $check -ge 12 -a $check -le 17 ]  
 then  
     HELLOSTRING="Good afternoon"  
           else  
     HELLOSTRING="Good evening"  
 fi  
 echo -ne '             \033[1;31m##           \033[0m(10%)\r'  
 HOSTN=`hostname`  
 echo -ne '             \033[1;31m###          \033[0m(15%)\r'  
 DISTRO1=`lsb_release -s -d`   
 DISTRO2=`lsb_release -c | awk -F: '{print $2}' | sed -e 's/^[ \t]*//'`   
 DISTRO3=`cat /etc/debian_version`  
 echo -ne '             \033[1;31m####          \033[0m(20%)\r'  
 KERNEL=`uname -r`  
 echo -ne '             \033[1;31m#####         \033[0m(25%)\r'  
 BOOTTIME=`grep btime /proc/stat | cut -d ' ' -f2 | perl -MDate::Manip -lane 'printf "%s\n", UnixDate(ParseDateString("epoch $_"), "%c");'`  
 echo -ne '             \033[1;31m######         \033[0m(30%)\r'  
 UPTIME=`uptime | grep -Eo 'up .+ user' | sed -e 's/:/ hours /' -e 's/ min//' -re 's/^up\s+/\x1b[0;36m\x1b[0;37m /' | sed -re 's/,\s+[0-9]+ user$/ minutes/' -e 's/,//g' -e 's/00 minutes//' | sed -re 's/0([1-9] minutes)/\1/' -e 's/(1 hour)s/\1/' -e 's/(1 minute)s/\1/' | sed -e 's/^[ \t]*//'`  
 echo -ne '             \033[1;31m#######        \033[0m(35%)\r'  
 CPU=`cat /proc/cpuinfo | grep "model name" | awk -F: '{print $2}' | sed -n '1p' |sed -e 's/^[ \t]*//'`  
 echo -ne '             \033[1;31m########        \033[0m(40%)\r'  
 CPUTEMP=`sensors | grep "Physical id 0:" | awk -F: '{print $2}' | sed -e 's/^[ \t]*//'`  
 echo -ne '             \033[1;31m#########       \033[0m(45%)\r'  
 MEMORY1=`cat /proc/meminfo|grep 'MemF'| awk '{print int($2/1000)}'`  
 MEMORY2=`cat /proc/meminfo|grep 'MemT'| awk '{print int($2/1000)}'`   
 echo -ne '             \033[1;31m##########       \033[0m(50%)\r'  
 RAID1=`df -h | grep "md0" | awk '{print $2}' | sed 's/.$//'`  
 RAID2=`df -h | grep "md0" | awk '{print $4}' | sed 's/.$//'`  
 DISK1=`df -h | grep "rootfs" | awk '{print $2}' | sed 's/.$//'`  
 DISK2=`df -h | grep "rootfs" | awk '{print $4}' | sed 's/.$//'`  
 echo -ne '             \033[1;31m###########      \033[0m(55%)\r'  
 LOAD=`cat /proc/loadavg | awk '{print $1" (1 minute) "$2" (5 minutes) "$3" (15 minutes)"}'`  
 echo -ne '             \033[1;31m############      \033[0m(60%)\r'  
 PROC1=`ps -ef | wc -l | sed -e 's/^[ \t]*//'`  
 PROC2=`ps -u "$(echo $(w -h | cut -d ' ' -f1 | sort -u))" o user= | sort | uniq -c | sort -rn | awk '{print $1}' | sed -e 's/^[ \t]*//'`  
 echo -ne '             \033[1;31m#############     \033[0m(65%)\r'  
 IP1=`netstat -n -t | awk '{print $4}' | grep -o "[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*" | grep -v "127.0.0.1" | sort -u`  
 IP2=`wget -q -O - http://icanhazip.com/ | tail || No Network Connection!`  
 #IP3=`curl -s ifconfig.me/all | grep "remote_host" | awk '{print $2}' | sed -e 's/^[ \t]*//'`  
 echo -ne '             \033[1;31m##############     \033[0m(70%)\r'  
 NETWORK=`netstat -N -i | grep eth1 | awk '{if ($1 > 0 && $4 > 0) print $1,int($4/1000000)"GiB down",int($8/1000000)"GiB up"}' || No Connection!`  
 echo -ne '             \033[1;31m###############    \033[0m(75%)\r'  
 USERS=`users | awk '{for(i=1;i<=NF;i++){a[$i]++}}END{for(i in a){print i"\t"a[i]}}' |sed -e 's/^[ \t]*//'`  
 echo -ne '             \033[1;31m################    \033[0m(80%)\r'  
 LAST=`last -R $username | awk '{print $3,$4,$5,$6}' | sed -n '2p' |sed -e 's/^[ \t]*//'`  
 echo -ne '             \033[1;31m#################   \033[0m(85%)\r'  
 WEATHER=`curl -s "http://rss.accuweather.com/rss/liveweather_rss.asp?metric=1&locCode=EUR|CH|316622|ZURICH" | LANG=de_DE.UTF-8 sed -n '/Currently:/ s/.*: \(.*\): \([0-9]*\)\([C]\).*/\2°\3, \1/p'`  
 echo -ne '             \033[1;31m##################   \033[0m(90%)\r'  
 FORTUNE=`/usr/games/fortune -as | sed "s/^/    /"`  
 echo -ne '             \033[1;31m###################  \033[0m(95%)\r'  
 UPDATES=`apt-get --just-print upgrade 2>&1 | perl -ne 'if (/Inst\s([\w,\-,\d,\.,~,:,\+]+)\s\[([\w,\-,\d,\.,~,:,\+]+)\]\s\(([\w,\-,\d,\.,~,:,\+]+)\)? /i) {print "PROGRAM: $1 INSTALLED: $2 AVAILABLE: $3\n"}'`  
 WHOAMI=`whoami`  
 echo -ne '             \033[1;31m####################  \033[0m(100%)\r'  
 SSHTTY=`printenv SSH_TTY`  
 INSTALLED="Wed Mar 27 21:16:26 2013"  
 #sudo tune2fs -l $(df -P / | tail -n1 | cut -d' ' -f1 ) | grep 'Filesystem created:'  
 REBOOT=`cat /home/techii/bootcount.txt`  
 sleep 0.25  
 echo -ne '                                        \r'  
 echo -e "\n";  
 echo -e "\033[1;31m     _,met\$\$\$\$\$gg.";  
 echo -e "    ,g\$\$\$\$\$\$\$\$\$\$\$\$\$\$\$P.";  
 echo -e "   ,g\$\$P\"\"    \"\"\"Y\$\$.\".";  
 echo -e "  ,\$\$P'       \`\$\$\$.";  
 echo -e " ',\$\$P    ,ggs.   \`\$\$b:";  
 echo -e " \`d\$\$'   ,\$P\"'  .  \$\$\$";  
 echo -e "  \$\$P   d\$'   ,  \$\$P";  
 echo -e "  \$\$:   \$\$.  -  ,d\$\$'   ";  
 echo -e "  \$\$;   Y\$b._  _,d\$P'  \033[0m   _,      _,   ,'\`.";  
 echo -e "\033[1;31m  Y\$\$.  \`.\`\"Y\$\$\$\$P\"'\033[0m     \`\$\$'     \`\$\$'   \`. ,'";  
 echo -e "\033[1;31m  \`\$\$b   \"-.__      \033[0m  \$\$      \$\$    \`'";  
 echo -e "\033[1;31m  \`Y\$\$b           \033[0m  \$\$      \$\$     _,      _";  
 echo -e "\033[1;31m   \`Y\$\$.        \033[0m ,d\$\$\$g\$\$ ,d\$\$\$b. \$\$,d\$\$\$b.\`\$\$' g\$\$\$\$\$b.\`\$\$,d\$\$b.";  
 echo -e "\033[1;31m    \`\$\$b.     \033[0m  ,\$P' \`\$\$ ,\$P' \`Y\$. \$\$\$' \`\$\$ \$\$ \"'  \`\$\$ \$\$\$' \`\$\$";  
 echo -e "\033[1;31m     \`Y\$\$b.   \033[0m   \$\$'  \$\$ \$\$'  \`\$\$ \$\$'  \$\$ \$\$ ,ggggg\$\$ \$\$'  \$\$";  
 echo -e "\033[1;31m      \`\"Y\$b._   \033[0m  \$\$   \$\$ \$\$ggggg\$\$ \$\$   \$\$ \$\$ ,\$P\"  \$\$ \$\$  \$\$";  
 echo -e "\033[1;31m        \`\"\"\"\"  \033[0m \$\$  ,\$\$ \$\$.    \$\$  ,\$P \$\$ \$\$'  ,\$\$ \$\$  \$\$";  
 echo -e "\033[0m             \`\$g. ,\$\$\$ \`\$\$._ _., \$\$ _,g\$P' \$\$ \`\$b. ,\$\$\$ \$\$  \$\$";  
 echo -e "              \`Y\$\$P'\$\$. \`Y\$\$\$\$P',\$\$\$\$P\"' ,\$\$. \`Y\$\$P'\$\$.\$\$. ,\$\$.";  
 echo -e "\n";  
 echo -e "  
                     \033[1;34m$HELLOSTRING $WHOAMI!\033[0;37m   
 \033[0;37m+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
 \033[0;37m+  \033[1;31mHostname....: \033[0m$HOSTN  
 \033[0;37m+  \033[1;31mDistro......: \033[0m$DISTRO1 $DISTRO2 $DISTRO3  
 \033[0;37m+  \033[1;31mKernel......: \033[0m$KERNEL  
 \033[0;37m+  \033[1;31mBoottime....: \033[0m$BOOTTIME  
 \033[0;37m+  \033[1;31mUptime......:\033[0m$UPTIME  
 \033[0;37m+  \033[1;31mInstalled...: \033[0m$INSTALLED  
 \033[0;37m+  \033[1;31mReboots.....: \033[0m$REBOOT  
 \033[0;37m+  \033[1;31mCPU.........: \033[0m$CPU  
 \033[0;37m+  \033[1;31mCPU Temp....: \033[0m$CPUTEMP  
 \033[0;37m+  \033[1;31mMemory......: \033[0m$MEMORY1 MB (Free) / $MEMORY2 MB (Total)  
 \033[0;37m+  \033[1;31mRAID.(Data).: \033[0m$RAID2 TB (Free) / $RAID1 TB (Total)  
 \033[0;37m+  \033[1;31mDisk.(OS)...: \033[0m$DISK2 GB (Free) / $DISK1 TB (Total)  
 \033[0;37m+  \033[1;31mLoad........: \033[0m$LOAD  
 \033[0;37m+  \033[1;31mProcesses...: \033[0m$PROC1 (Total) $PROC2 ($WHOAMI)  
 \033[0;37m+  \033[1;31mIP Address..: \033[0m$IP1 and $IP2  
 \033[0;37m+  \033[1;31mNetwork.....: \033[0m$NETWORK  
 \033[0;37m+  \033[1;31mSSH tty.....: \033[0m$SSHTTY  
 \033[0;37m+  \033[1;31mUsers.......: \033[0m$USERS  
 \033[0;37m+  \033[1;31mLast login..: \033[0m$LAST  
 \033[0;37m+  \033[1;31mWeather.....: \033[0m$WEATHER  
 \033[0;37m++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
 "  
 echo -e "  
 $FORTUNE  
 $UPDATES  
 ";  
 end=`date +%s.%N`  
 runtime=$(echo "$end - $start" | bc)  
 echo "Execution time was:" $runtime "seconds"  


Viel Spass beim MOTDEN!