apt install nut
vi /etc/nut/nut.conf
MODE=netclient
vi /etc/nut/ups.conf
maxretry = 3
vi /etc/nut/upsd.conf
LISTEN 192.168.1.100 3493
vi /etc/nut/upsd.users
[slave]
password = **mot de passe**
allowfrom = slaves
upsmon slave
vi /etc/nut/upsmon.conf
MONITOR mge@192.168.1.100 1 slave **mot de passe** slaves
SHUTDOWNCMD "/sbin/shutdown -h now"
HOSTSYNC 15
#POWERDOWNFLAG /etc/nut/killpower
FINALDELAY 5
NOTIFYCMD /sbin/upssched
NOTIFYMSG ONBATT "%s is on battery"
NOTIFYMSG ONLINE "%s is back online"
NOTIFYMSG LOWBATT "%s has a low battery!"
NOTIFYMSG SHUTDOWN "System is being shutdown!"
NOTIFYFLAG ONLINE SYSLOG+EXEC
NOTIFYFLAG ONBATT SYSLOG+EXEC
NOTIFYFLAG LOWBATT SYSLOG+EXEC
NOTIFYFLAG FSD SYSLOG+WALL+EXEC
NOTIFYFLAG COMMOK SYSLOG+EXEC
NOTIFYFLAG COMMBAD SYSLOG+EXEC
NOTIFYFLAG SHUTDOWN SYSLOG+EXEC
NOTIFYFLAG REPLBATT SYSLOG+EXEC
NOTIFYFLAG NOCOMM SYSLOG+EXEC
vi /etc/nut/upssched.conf
# les scripts
CMDSCRIPT /bin/upssched-cmd
# les mandats
LOCKFN /var/lib/nut/upssched.lock
PIPEFN /var/lib/nut/upssched.pipe
# shutdown propre apres 5mn en ONBATT
AT ONBATT * START-TIMER shutdown 300
# annulation des actions si EDF OK
AT ONLINE * CANCEL-TIMER onbatt
AT ONLINE * CANCEL-TIMER shutdown
vi /bin/upssched-cmd
#! /bin/sh
#
# 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"
;;
batths)
logger -t upssched-cmd "La Batterie de l'onduleur est HS"
echo "Batt Onduleur" | mail -s "La Batterie de l'onduleur est HS" damien.cellier@icloud.com
;;
commbad)
logger -t upssched-cmd "Envoi Avertissement via mail"
echo "Communication Onduleur KO" | mail -s "la communication avec l'onduleur est KO" damien.cellier@icloud.com
;;
commok)
logger -t upssched-cmd "Envoi Avertissement via mail"
echo "Communication Onduleur OK" | mail -s "la communication avec l'onduleur est OK" damien.cellier@icloud.com
;;
onbatt)
logger -t upssched-cmd "Envoi Avertissement via mail"
echo "Coupure EDF" | mail -s "ONDULEUR Proxmox HS" damien.cellier@icloud.com
;;
online)
logger -t upssched-cmd "Envoi retour a la normal via mail"
echo "EDF OK" | mail -s "ONDULEUR Proxmox OK" damien.cellier@icloud.com
;;
shutdown)
logger -t upssched-cmd "Shutting down using: upsmon -c fsd"
upsmon -c fsd
;;
shutdown1)
logger -t upssched-cmd "Shutting down using: upsmon -c fsd"
umount /mnt/pve/data
;;
shutdown2)
logger -t upssched-cmd "Shutting down using: upsmon -c fsd"
umount /mnt/pve/data2
;;
stopusb)
logger -t upssched-cmd "Arret du port usb"
upsdrvctl stop
;;
startusb)
logger -t upssched-cmd "Relance du port usb"
upsdrvctl start
;;
delay)
logger -t upssched-cmd "Ups.delay.shutdown = 30"
upsrw -s ups.delay.shutdown=30 -u admin -p xxxmdpxxx mge
;;
*)
logger -t upssched-cmd "Unrecognized command: $1"
;;
esac