#! /bin/bash main() { case "$1" in (--help) echo "report status of all shack services." ;; (*) test "$(dig +short localhost @10.42.0.10 )" = "127.0.0.1" && STAT_DNS_I="läuft" || STAT_DNS_I="antwortet nicht" test "$(dig +short shackspace.de @10.42.0.10 )" = "141.31.176.214" && STAT_DNS_E="läuft" || STAT_DNS_E="antwortet nicht" test "$(dig +short shackspace.de @141.31.176.214 )" = "141.31.176.214" && STAT_DNS_X="läuft"|| STAT_DNS_X="antwortet nicht" STAT_LINE=$(ping -c 5 -i 0.2 -q 141.31.176.214 | awk '/packet loss/ { print 100-$6}' ) cat <<-EOF >$NOISE_linefeed /set pitch 10 /espeak -v Hallo - Ich bin Krebs. /espeak -v Heute ist `wochentag`, der `tag` --- `monat` -- `date +%Y` /zeit /espeak -v tcheck der systeme: /espeak -v Energie versorgung -- aktiv /espeak -v shackhost -- läuft /espeak -v telnet -- läuft /espeak -v interner - D N S -- interne - do-mejn -- $STAT_DNS_I /espeak -v interner - D N S -- externe - do-mejn -- $STAT_DNS_E /espeak -v externer - D N S - $STAT_DNS_X /espeak -v Leitungsqualität - $STAT_LINE prozent. /temp /espeak -v krebs kompjuting bereit EOF ;; esac 2>&1 } wochentag() { case $(date +%a) in (Mon) echo Montag ;; (Tue) echo Dienstag ;; (Wed) echo Mittwoch ;; (Thu) echo Donnerstag ;; (Fri) echo Freitag ;; (Sat) echo Samstag ;; (Sun) echo Sonntag ;; esac } tag() { case $(date +%d) in (1) echo erste ;; (2) echo zweite ;; (3) echo dritte ;; (4) echo vierte ;; (5) echo fünfte ;; (6) echo sechste ;; (7) echo siebte ;; (8) echo achte ;; (9) echo neunte ;; (10) echo zehnte ;; (11) echo elfte ;; (12) echo zwölfte ;; (13) echo dreizehnte ;; (14) echo vierzehnte ;; (15) echo fünfzehnte ;; (16) echo sechzehnte ;; (17) echo siebzehnte ;; (18) echo achtzehnte ;; (19) echo neunzehnte ;; (20) echo zwanzigste ;; (21) echo einundzwanzigste ;; (22) echo zweiundzwanzigste ;; (23) echo dreiundzwanzigste ;; (24) echo vierundzwanzigste ;; (25) echo füfundzwanzigste ;; (26) echo sechsundzwanzigste ;; (27) echo siebenundzwanzigste ;; (28) echo achtundzwanzigste ;; (29) echo neunundzwanzigste ;; (30) echo dreissigste ;; (31) echo einunddreissigste ;; esac } monat() { case $(date +%b) in (Jan) echo Januar ;; (Feb) echo Februar ;; (Mar) echo März ;; (Apr) echo April ;; (May) echo Mai ;; (Jun) echo Juni ;; (Jul) echo Juli ;; (Aug) echo August ;; (Sep) echo September ;; (Oct) echo Oktober ;; (Nov) echo November ;; (Dec) echo Dezember ;; esac } main "$@"