Bon… j’ai repris ce matin mon bâton de pélerin et vais faire un récap.
************************
SOLUTION 1
Celle qui marche : le problème c’est qu’en cas rupture et de rétablissement du courant, c’est la même notification qui est envoyée.
Dans /etc/nut/upsmon.conf
Code: Select all
MONITOR eaton@localhost 1 upsmonitor monmotdepasse master
POWERDOWNFLAG /etc/killpower
SHUTDOWNCMD "/sbin/shutdown -h now"
NOTIFYCMD /etc/nut/notifycmdOFF
NOTIFYFLAG ONBATT EXEC+SYSLOG+WALL
NOTIFYFLAG ONLINE EXEC+SYSLOG+WALL
Dans /usr/local/bin/nut/notifycmdOFF le bash créé et appelé par la commande NOTIFYCMD
Code: Select all
#!/bin/bash
curl "https://smsapi.free-mobile.fr/sendmsg?user=19XXXXX&pass=jeXXXXXXXXXXX&msg=Alerte!%20Panne%20de%20courant!"
curl "https://smsapi.free-mobile.fr/sendmsg?user=19XXXXXX&pass=jeXXXXXXXXX&msg=Courant%20rétabli."
*******************************
Celles qui ne marchent pas…
SOLUTION 2
a) En passant par upssched.conf
Dans /etc/nut/upsmon.conf
Code: Select all
MONITOR eaton@localhost 1 upsmonitor monmotdepasse master
POWERDOWNFLAG /etc/killpower
SHUTDOWNCMD "/sbin/shutdown -h now"
NOTIFYCMD /etc/nut/upssched.conf
NOTIFYFLAG ONBATT EXEC+SYSLOG+WALL
NOTIFYFLAG ONLINE EXEC+SYSLOG+WALL
Dans /etc/nut/upssched.conf
#lancer le script de notifications
Dans /sbin/upssched-cmd
Code: Select all
!/bin/bash
case $1 in
onbattwarn)
curl "https://smsapi.free-mobile.fr/sendmsg?user=9XXXXX&pass=jeXXXXXXXXXXX&msg=Alerte!%20Panne%20de%20courant!"
;;
ups-back-on-power)
curl "https://smsapi.free-mobile.fr/sendmsg?user=19XXXXX&pass=jeXXXXXXXXXXX&msg=Courant%20rétabli."
;;
*)
logger -t upssched-cmd "Unrecognized command: $1"
;;
esac
b) En passant par upssched-cmd
Dans /etc/nut/upsmon.conf
Code: Select all
MONITOR eaton@localhost 1 upsmonitor monmotdepasse master
POWERDOWNFLAG /etc/killpower
SHUTDOWNCMD "/sbin/shutdown -h now"
CMDSCRIPT /sbin/upssched-cmd
AT ONBATT * START-TIMER onbatt1 13
AT ONLINE * CANCEL-TIMER onbatt1
#AT ONBATT * START-TIMER earlyshutdown 30
#AT ONLINE * CANCEL-TIMER earlyshutdown
AT ONBATT * START-TIMER onbattwarn 30
AT ONLINE * CANCEL-TIMER onbattwarn
Dans /sbin/upssched-cmd
Code: Select all
!/bin/bash
case $1 in
onbattwarn)
curl "https://smsapi.free-mobile.fr/sendmsg?user=19XXXXXX&pass=jeXXXXXXX&msg=Alerte!%20Panne%20de%20courant!"
;;
ups-back-on-power)
curl "https://smsapi.free-mobile.fr/sendmsg?user=19XXXXXXXXXXXXX&pass=jeXXXXXXXXXXXXXX&msg=Courant%20rétabli."
;;
*)
logger -t upssched-cmd "Unrecognized command: $1"
;;
esac
Dans les 2 cas où ça ne fonctionne pas il y a un bug.
Soit le fichier upssched-cmd est mal rédigé.
Soit il y a une erreur dans la conception des enchaînements.
Bref, si ça peut servir et si un jour quelqu’un sait comment régler le problème…
Bonne journée.