Ich habe mich in meinem ersten Post scheinbar nicht eindeutig ausgedrückt. Entschuldigung dafür ☹
Für das Versenden über netcat habe ich Zeile 2
durch
| WALL="tee >(nc localhost 3552) | wall)"
|
ersetzt. Dies hat leider nicht funktioniert.
Um das ganze mal konkret zu machen.
Es geht um das Script /etc/apcupsd/apccontrol des apcupsd. Dieses wird aufgerufen wenn die USV ein Event wirft. Normalerweise wird ein zu dem Event passender Text mit wall im System bekanntgegeben. Ich möchte nun aber zusätzlich diese Information mit netcat versenden.
Im Script gibt es eine Reihe von Meldungen die in folgender Art aufgebaut sind:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 | case "$1" in
killpower)
echo "Apccontrol doing: ${APCUPSD} --killpower on UPS ${2}" | ${WALL}
sleep 10
${APCUPSD} --killpower
echo "Apccontrol has done: ${APCUPSD} --killpower on UPS ${2}" | ${WALL}
;;
commfailure)
echo "Warning communications lost with UPS ${2}" | ${WALL}
;;
commok)
echo "Communications restored with UPS ${2}" | ${WALL}
;;
...
|
Mein Ziel ist es nun die Variable WALL so anzupassen, dass die Meldung via wall und via netcat weiterverarbeitet werden kann. Eine Änderung an jedem echo Kommando möchte ich wenn möglich vermeiden.
Viele Grüße
mode