J’ai voulu tester une coupure de courant à l’onduleur et je vois qu’il y a des problèmes, des commandes non reconnues par upssched-cmd
root@n40l:~# tail -f /var/log/syslog
Sep 16 10:45:10 n40l upsmon[1840]: MGE600@localhost is on battery
Sep 16 10:45:10 n40l upssched[1904]: Timer daemon started
Sep 16 10:45:10 n40l upssched[1904]: New timer: onbatt1 (13 seconds)
Sep 16 10:45:10 n40l upssched[1904]: New timer: onbattwarn (30 seconds)
Sep 16 10:45:23 n40l upssched[1904]: Event: onbatt1
Sep 16 10:45:23 n40l upssched-cmd: Unrecognized command: onbatt1
Sep 16 10:45:40 n40l upssched[1904]: Event: onbattwarn
Sep 16 10:45:40 n40l upssched-cmd: Unrecognized command: onbattwarn
Sep 16 10:45:55 n40l upssched[1904]: Timer queue empty, exiting
Il est indiqué qu’un simple fichier vide éxecutable suffit pour /bin/upssched-cmd
root@n40l:~# ls -al /bin/upssched-cmd
-rwxr-xr-x 1 root root 0 sept. 16 11:02 /bin/upssched-cmd
Mon fichier /bin/upssched-cmd
d’origine faisait 420 octets et était vide d’information, je viens de le réduire à zéro comme ci-dessus.
Dès que j’aurai retrouvé ma charge de batterie, je ferai à nouveau un test de coupure.
Édition :
J’ai bien fini par comprendre qu’il fallait un contenu pour /bin/upssched-cmd
en correspondance avec les timers déclarés dans /etc/nut/upssched.conf
:
# /etc/nut/upssched.conf
LOCKFN /var/lib/nut/upssched.lock
PIPEFN /var/lib/nut/upssched.pipe
CMDSCRIPT /bin/upssched-cmd
AT ONBATT * START-TIMER onbatt 5
AT ONLINE * CANCEL-TIMER onbatt
AT ONBATT * START-TIMER earlyshutdown 15
AT ONLINE * CANCEL-TIMER earlyshutdown
AT ONBATT * START-TIMER onbattwarn 30
AT ONLINE * CANCEL-TIMER onbattwarn
#! /bin/sh
# /bin/upssched-cmd
#
# This script should be called by upssched via the CMDSCRIPT directive.
#
# Here is a quick example to show how to handle a bunch of possible
# timer names with the help of the case structure.
#
# This script may be replaced with another program without harm.
#
# The first argument passed to your CMDSCRIPT is the name of the timer
# from your AT lines.
case $1 in
upsgone)
logger -t upssched-cmd "The UPS has been gone for a while"
;;
onbatt)
logger -t upssched-cmd "On battery"
;;
earlyshutdown)
logger -t upssched-cmd "Early Shutdown..."
;;
onbattwarn)
logger -t upssched-cmd "Shutting down using: upsmon -c fsd"
upsmon -c fsd
;;
*)
logger -t upssched-cmd "Unrecognized command: $1"
;;
esac
Le test de coupure est effectué, l’arrêt est effectif après les timers : onbatt
(5 secondes) + earlyshutdown
(15 secondes) + onbattwarn
(30 secondes) soit 50 secondes en tout.
Ce n’est qu’un petit 600VA (360 Watts) et j’ai un petit monde dessus.
Je ne m’attendais pas néanmoins à une baisse aussi rapide de l’indicateur battery.charge avec une 50 Ah neuve