Unix Bash-Scripting

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Unix Bash-Scripting

    Hallo,

    ich habe das letzte Mal irgendwann um 2002 mit der Unix-Bash etwas gemacht. Ich weiß auch das ich das Problem damals beheben konnte *g* nur es fällt mir nicht mehr ein.

    Ich brauche ein Script das überprüft ob ein Service noch läuft oder nicht.

    Beispiel:

    Code:
    #!/bin/bash
    
    
    SERVICE="tomcat6"			
    LOGFILE="checkTomcat.log"	
    
    
    psax=`ps ax | grep ${SERVICE} | grep -v grep | wc -l`
    rundate=`date`
    
    if [ "$EUID" -ne 0 ]
    then
    	echo "Must be root to run this script!";
    	exit;
    fi
    
    if [ $psax -eq 0 ]
    then
    	echo $rundate >> ${LOGFILE}
    	echo "Server OFFLINE! Server wird gestartet!" >> ${LOGFILE}
    	echo "-------------------------------" >> ${LOGFILE}
    	`sudo /etc/init.d/tomcat6 start`
    fi
    Wie war denn das ganze nochmal mit den "exit-codes" damit mein Script nach dem Starten von "Tomcat" nicht einfach stehen bleibt?

    Wäre über einen Tip sehr erfreut.

    Danke
    Jan

  • #2
    Zitat von JSkrok
    Unix-Bash
    Die BASH ist Teil des GNU-Projektes und hat mit UNIX nichts zu tun. Kein Klugsch*, nur ein Hinweis. Nicht das du vielleicht mal von einem BSDler, Solarisadmin oder jemandem aus der Richting umgeboxt wirst.

    Zitat von JSkrok
    Wie war denn das ganze nochmal mit den "exit-codes"
    Unter "exit-codes" laufen nach meinem Verständnis integrale Rückgabewerte an aufrufende Funktionen (oder Prozesse aus main()).
    Was du suchst dürfte ein cronjob (man 1 crontab) sein der dein Skript alle n*Zeit aufruft. Alternativ kannst du die Prüfung innerhalb des Skriptes in eine Schleife packen und mit sleep (man 1 sleep) n*Zeit bis zum nächsten Durchlauf warten lassen, was allerdings weniger geeignet wäre, da cron ja genau für solche Fälle vorgesehen ist.

    edit. Hm, zu spät auf das Datum gesehen. Naja, dann halt fürs Archiv...

    Kommentar

    Lädt...
    X