Script unter UNIX mit VI Editor

Von: , Frage gestellt am Di, 21. Apr 2009

Hi
ich möchte mein Script auch in file sehen d.h ich sehe in mail und in screen aber fellt bei file. scrpit schicke hier..
danke euch

#!/bin/sh
hostname=`hostname`
echo "$hostname"
date=`date`
echo "$date" "$hostname" "SpectroServer up" "AlarmNotifier down"

if pgrep Spec >/dev/null
then
if pgrep Alarm >/dev/null
then
cat check.log
echo "$hostname" "Spec up" "Alarm up"
echo "Spec and AlarmN running"
echo "Spec and Alarm are running on host $hostname"| mailx -s "Spec and Alarm are running" [E-Mail-Adresse entfernt]
echo "Spec and Alarm are running" | /usr/bin/logger -p local6.info -t info
echo "Spec down" "Alarm up">>process.sh.log | mailx -s "Spec and Alarm are running" [E-Mail-Adresse entfernt]
else
echo "Spec is running on host $hostname \nAlarm not running"| mailx -s "Spectrum process check" xxxyahoo@.com,
echo "Spec running Alarm not running" | /usr/bin/logger -p local6.info -t info
echo "Spec down" "Alarm up">>process.sh.log
fi
else
cat check.log
echo "$hostname" "Spec down" "Alarm up"
echo "Spec is broken"
echo "Spec is broken on host $hostname, Alarm not"| mailx -s "Spec is broken" xxxyahoo.com
echo "Spec is broken" | /usr/bin/logger -p local6.info -t info
echo "Spec down" "Alarm up">>process.sh.log | mailx -s "Spec and Alarm are running" xxxyahoo@.de
echo "Spec is broken"
echo "Spec is broken on host $hostname, Alarm not"
echo "Spec is broken" | /usr/bin/logger -p local6.info -t info
fi
exit

1 Antworten zu dieser Frage

  1. Antwort von nach 11 Stunden 0 hilfreich
    Re: Script unter UNIX mit VI Editor

    Hallo, Hi
    ich möchte mein Script auch in file sehen d.h ich sehe in
    mail und in screen aber fellt bei file. scrpit schicke hier..
    danke euch
    Wenn du mit dem file das process.sh.log meinst, schaue mal nach, ob das Script, bzw. der Benutzer unter dem das läuft, da auch Schreibrechte drauf hat, bzw. in dem Verzeichnis neue Dateien anlegen darf (chmod).

    Falls du mit File das Logfile meinst, musst du nachschauen, ob es in der Konfiguration von Syslog / Syslog-ng eine Regel gibt, die local6.info irgendwohin protokolliert. echo "Spec and Alarm are running on host $hostname"|
    mailx -s "Spec and Alarm are running" [E-Mail-Adresse entfernt]
    echo "Spec and Alarm are running" | /usr/bin/logger -p
    local6.info -t info
    echo "Spec down" "Alarm up">>process.sh.log | mailx -s
    "Spec and Alarm are running" [E-Mail-Adresse entfernt]
    Das mailx da sollte nicht mit hin, da wird ne 2. leere Mail ankommen. Außerdem ist das "Spec down" da falsch.

    Alex

    PS: So sieht das einfacher aus:
    #!/bin/sh
    hostname=`hostname`
    date=`date`
    spec="down"
    alarm="dowm"
    if pgrep Spec >/dev/null ; then spec="up" ; fi
    if pgrep Alarm >/dev/null ; then alarm="up" ; fi
    message="$date $hostname SpectroServer $spec AlarmNotifier $alarm"
    echo $message | mailx -s $message [E-Mail-Adresse entfernt]
    echo $message | /usr/bin/logger -p local6.info -t info
    echo $message >>process.sh.log

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!