Suse SLES8SP3 Kernel 2.4.21-268 oder so...
Folgendes Problem.
Ich habe eine Netzwerk USV einen WinXP PC und halt den Linuxserver.
Wenn ich der USV den Strom wegnehme erscheint auf dem Win-PC via Nachrichten Messenger die Nachricht - USV Saft weg!!
mit ethereal gesnifft erhält auch der Linux die Nachricht - nur wer ist dafür verantwortlich, das diese angezeigt wird - das macht die Machine nämlich nicht.
Darauf installiert habe ich von APC den PowerChute Network Shutdown, der bietet auf Port 3052 der Linux eine http-Configuration an.
Dort habe ich alles wie bei dem Win-PC eingerichtet, auch dort ist das PCNS installiert.
Im Install-Path /usr/local/bin/Powerchute habe ich im bin-Dir ein Script "notifier" gefunden. Diese gibt nur leider beim händischen Starten folgende Fehlermeldung raus:
./notifier: line 38: [: =: unary operator expected
Ich glaube, dass dieses Script nicht funktioniert, oder gar nicht erst aufgerufen wird.
Habe es auch mal in die Ecke gestellt und ein eigenes dort erstellt.
/usr/bin/wall "test"
die Datei test existiert.
Bringt aber auch nichts.
Hier das notifier-Script:
-----------------------------------------
#!/bin/sh
# @(#)UNIX_notifier.sh 1.0
# Copyright 1999, American Power Conversion, Inc.
#
# NAME: notifier.sh
#
# REV: 1.0
#
# LAST MODIFIED: 3/29/99 14:05:25
#
# DESCRIPTION: Will send the message to the users specified.
# The parameters passed include -
# USER: single user to receive messages
# MSG: message to be sent
# SENDTOALL: ALL (send to all users)
# SPECIFIC - send to USER
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/etc:/usr/ccs/bin
export PATH
# Send the message to a single user
SendSingle() {
USER=`echo $USER | sed s/\"//g`
echo $MSG | write $USER 2>/dev/null
}
# Send the message to all users
SendAll() {
echo $MSG | wall 2>/dev/null
}
SOURCE=$2
SPACE=" "
# Add all words of a multi-word message together
MSG=$1
shift
until [ $1 = \"PowerChute\" ]
do
MSG=`echo $MSG$SPACE$1`
shift
done
# Remove references to PowerChute network shutdown
shift
# Decide if message is to ALL users or to a specific user
if [ $1 = SPECIFIC ]
then
#send message to specific users only
USER=$2
SendSingle
else
# send message to all users
SendAll
fi
# Cleanup
rm -f $MSG
rm -f $USER
rm -f $SPACE
----------------------------------------
Hoffentlich kann mir jemand schnell und gut weiter helfen..
Frohe Weihnachten und ´nen guten Rutsch.
Dr.Sputnik
Folgendes Problem.
Ich habe eine Netzwerk USV einen WinXP PC und halt den Linuxserver.
Wenn ich der USV den Strom wegnehme erscheint auf dem Win-PC via Nachrichten Messenger die Nachricht - USV Saft weg!!
mit ethereal gesnifft erhält auch der Linux die Nachricht - nur wer ist dafür verantwortlich, das diese angezeigt wird - das macht die Machine nämlich nicht.
Darauf installiert habe ich von APC den PowerChute Network Shutdown, der bietet auf Port 3052 der Linux eine http-Configuration an.
Dort habe ich alles wie bei dem Win-PC eingerichtet, auch dort ist das PCNS installiert.
Im Install-Path /usr/local/bin/Powerchute habe ich im bin-Dir ein Script "notifier" gefunden. Diese gibt nur leider beim händischen Starten folgende Fehlermeldung raus:
./notifier: line 38: [: =: unary operator expected
Ich glaube, dass dieses Script nicht funktioniert, oder gar nicht erst aufgerufen wird.
Habe es auch mal in die Ecke gestellt und ein eigenes dort erstellt.
/usr/bin/wall "test"
die Datei test existiert.
Bringt aber auch nichts.
Hier das notifier-Script:
-----------------------------------------
#!/bin/sh
# @(#)UNIX_notifier.sh 1.0
# Copyright 1999, American Power Conversion, Inc.
#
# NAME: notifier.sh
#
# REV: 1.0
#
# LAST MODIFIED: 3/29/99 14:05:25
#
# DESCRIPTION: Will send the message to the users specified.
# The parameters passed include -
# USER: single user to receive messages
# MSG: message to be sent
# SENDTOALL: ALL (send to all users)
# SPECIFIC - send to USER
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/etc:/usr/ccs/bin
export PATH
# Send the message to a single user
SendSingle() {
USER=`echo $USER | sed s/\"//g`
echo $MSG | write $USER 2>/dev/null
}
# Send the message to all users
SendAll() {
echo $MSG | wall 2>/dev/null
}
SOURCE=$2
SPACE=" "
# Add all words of a multi-word message together
MSG=$1
shift
until [ $1 = \"PowerChute\" ]
do
MSG=`echo $MSG$SPACE$1`
shift
done
# Remove references to PowerChute network shutdown
shift
# Decide if message is to ALL users or to a specific user
if [ $1 = SPECIFIC ]
then
#send message to specific users only
USER=$2
SendSingle
else
# send message to all users
SendAll
fi
# Cleanup
rm -f $MSG
rm -f $USER
rm -f $SPACE
----------------------------------------
Hoffentlich kann mir jemand schnell und gut weiter helfen..
Frohe Weihnachten und ´nen guten Rutsch.
Dr.Sputnik