ich habe ein Problem bei der Ausführung meines upssched Skript.
Das Skript wird zwar ausgeführt und es werden auch Logeinträge geschrieben aber das ssh Kommando wird nicht ausgeführt.
Wenn ich es als root oder nut user von manuell starte funktioniert es.
Ich habe testweise mal die envs ausgegeben und eine Datei per touch erstellt. Das hat auch funktioniert.
Hat jemand von euch eine Idee was da nicht stimmt.
/etc/nut/upssched.conf
Code: Alles auswählen
CMDSCRIPT /etc/nut/upssched/upssched-cmd
PIPEFN /etc/nut/upssched/upssched.pipe
LOCKFN /etc/nut/upssched/upssched.lock
AT ONBATT * START-TIMER onbatt 30
AT ONLINE * CANCEL-TIMER onbatt online
AT LOWBATT * EXECUTE onbatt
AT COMMBAD * START-TIMER commbad 30
AT COMMOK * CANCEL-TIMER commbad commok
AT NOCOMM * EXECUTE commbad
AT SHUTDOWN * EXECUTE powerdown
AT REPLBATT * EXECUTE replacebatt
/etc/nut/upssched/upssched-cmd
Code: Alles auswählen
#!/bin/bash
LOGFILE="/var/log/upssched-cmd.log"
WRITE_TO_LOG() {
echo "$(date +'%Y_%m_%d %H:%M') - $1" >> ${LOGFILE}
}
case $1 in
onbatt)
WRITE_TO_LOG "The UPS is on battery"
;;
online)
WRITE_TO_LOG "The UPS is back on power"
;;
powerdown)
/usr/bin/env >> ${LOGFILE}
/usr/bin/touch /tmp/test.touch >> ${LOGFILE}
WRITE_TO_LOG "The UPS is shutting down the system"
/usr/bin/ssh -o ConnectTimeout=10 user@server "sudo /sbin/poweroff" >> ${LOGFILE} 2>&1
;;
esac
Code: Alles auswählen
LANGUAGE=en_US:en
PWD=/
NOTIFYTYPE=SHUTDOWN
LANG=en_US.UTF-8
INVOCATION_ID=b9b1cd639ced47b8b6f4bc9647cedfb7
SHLVL=1
UPSNAME=
JOURNAL_STREAM=9:17364
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
_=/usr/bin/env
2021_05_02 15:31 - The UPS is shutting down the system