Script unter UNIX mit VI Editor

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“ [email protected]
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“ [email protected]
else
echo „Spec is running on host $hostname \nAlarm not running“| mailx -s „Spectrum process check“ [email protected],
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“ [email protected]
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

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“ [email protected]
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“ [email protected]

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 [email protected]
echo $message | /usr/bin/logger -p local6.info -t info
echo $message >>process.sh.log