Hallo, dies ist ein Test.
PWD: /www/data-lst1/unixsoft/unixsoft/kaempfer/.public_html
Running in File Mode
Relative path: ./../../../../../../sbin/./check-smf
Real path: /usr/sbin/check-smf
Zurück
#!/bin/sh # # /usr/sbin/check-smf # # check-smf prueft den Zustand von SMF gegenueber einem in einer Datenbank gespeicherten Zustand # # check-smf [-s] [-n} # - vergleicht den Zustand von SMF mit der Datenbank # -n - legt die Datenbank neu an # -s - silent - ohne Ausgaben, nur Returncode wird erzeugt # 0 - ok # 1 - Differenz aufgetreten # 2 - Fehler beim Aufruf # # Datenbank unter /etc/check-smf # # Wednesday, January 6, 2016 11:10:43 AM CET # Tuesday, January 12, 2016 11:04:05 AM CET # LANG=C # LANG=C export LANG DATADIR=/etc/check-smf print() { if [ $SILENT -eq 0 ] ; then echo "$1" fi } usage () { print "usage:" print " check-smf [-s] [-n] - Zustand von SMF gegen die Datenbank pruefen" print " -n - Datenbank mit aktuellem Zustand von SMF laden" print " -s - keine Ausgabe auf STDOUT" exit 2 } check() { print print " Differenzen: $CHECK" diff $DATADIR/$CHECK $DATADIR/$CHECK.$NEW | grep ">" 1>/dev/null 2>&1 if [ $? -eq 0 ] ; then print "neu $CHECK" if [ $SILENT -eq 0 ] ; then diff $DATADIR/$CHECK $DATADIR/$CHECK.$NEW | grep ">" fi ERROR=1 fi diff $DATADIR/$CHECK $DATADIR/$CHECK.$NEW | grep "<" 1>/dev/null 2>&1 if [ $? -eq 0 ] ; then print "nicht mehr $CHECK" if [ $SILENT -eq 0 ] ; then diff $DATADIR/$CHECK $DATADIR/$CHECK.$NEW | grep "<" fi ERROR=1 fi print } ERROR=0 NEW=0 SILENT=0 while getopts sn WERT do case $WERT in n) NEW=1 ;; s) SILENT=1 ;; \?) usage ;; esac done if [ $NEW -eq 1 ] ; then print "check-smf: Datenbank mit aktuellem SMF-Zustand laden" if [ ! -d $DATADIR ] ; then print "check-smf: Erzeuge neue Datenbank-Direktory" mkdir $DATADIR fi svcs -a | awk '/^online/{ print $NF;}' | sort > $DATADIR/online svcs -a | awk '/^offline/{ print $NF;}' | sort > $DATADIR/offline svcs -a | awk '/^disabled/{ print $NF;}' | sort > $DATADIR/disabled svcs -a | awk '/^legacy_run/{ print $NF;}' | sort > $DATADIR/legacy_run svcs -a | awk '/^maintenance/{ print $NF;}' | sort > $DATADIR/maintenance exit 0 fi if [ ! -d $DATADIR ] ; then print "check-smf: keine Datenbank fuer SMF vorhanden" usage fi if [ ! -f $DATADIR/online -o ! -f $DATADIR/offline -o ! -f $DATADIR/disabled -o ! -f $DATADIR/legacy_run -o ! -f $DATADIR/maintenance ] ; then print "check-smf: Datenbank nicht vollstaendig" usage fi NEW=$$ svcs -a | awk '/^online/{ print $NF;}' | sort > $DATADIR/online.$NEW svcs -a | awk '/^offline/{ print $NF;}' | sort > $DATADIR/offline.$NEW svcs -a | awk '/^disabled/{ print $NF;}' | sort > $DATADIR/disabled.$NEW svcs -a | awk '/^legacy_run/{ print $NF;}' | sort > $DATADIR/legacy_run.$NEW svcs -a | awk '/^maintenance/{ print $NF;}' | sort > $DATADIR/maintenance.$NEW for CHECK in online offline disabled legacy_run maintenance do check rm $DATADIR/$CHECK.$NEW done exit $ERROR