PowerChute Network Shutdown управление отключение компьютера по сети APC 5000

Есть UPS APC 5000 с сетевой картой. Необходимо отключать коректно компьютера , которые от него запитаны. Для этого нам понадобится утилита PowerChute Network Shutdown, скачиваем:

https://www.apc.com/shop/ru/ru/categories/power/uninterruptible-power-supply-ups-/ups-management/powerchute-network-shutdown/N-auzzn7

Устанавливаем, в зависимости от разрядности нужно выбирать версию, 4.2  или 4.3

Заходим по WEB

Https://192.168.1.225:6547

Проходим мастер настройки, логин и пароль нужны от нашего APC, а также его ip адресс

Переходим в Configure Events

Находим Runtime remaining below threshold, нажимаем на шестерню в столбце shutdown , ставим галочку включить и пишем количество секунд которое осталось до полного разряда ups.

Для пробуждения я использовал свой сервак с ubuntu на борту

nano /scripts/wakeonlane.sh

#!/bin/bash

IP0="192.168.1.212"

IP1="192.168.1.6"

ip_mas=($IP0 $IP1) #Массив всех интерфейсов

MAC0="00:1f:02:22:d1:08"

MAC1="00:d5:5e:72:e2:69"

mac_mas=($MAC0 $MAC1) #Массив всех интерфейсов

line_voltage=`snmpget -v2c -c public 192.168.21.28 .1.3.6.1.4.1.318.1.1.1.4.1.1.0 |

sed -r 's/.* //g'`

#echo "Напряжение - "$line_voltage

runtime_remaining=`snmpget -v2c -c public 192.168.21.28  .1.3.6.1.4.1.318.1.1.1.2.2.3.0 | sed -r 's/.* //g' | cut -d":" -f2`

#echo "Оставшееся время - "$runtime_remaining

i=0
for var in `echo ${ip_mas[@]}`

do

ping=`ping -c5 ${ip_mas[$i]} | grep 'loss' | sed "s/%[^%]*$//g" | sed -r 's/.* //g'`

echo "потери при пинге " ${ip_mas[$i]} " = " $ping "%"

if [ "$line_voltage" -eq "2" ] && [ "$runtime_remaining" -gt "3" ] && [ "$ping" == "100" ]; then

wakeonlan ${mac_mas[$i]}

let i++

else

let i++

fi

done

nano /etc/crontab
*/3 * * * * root /scripts/wakeonlane.sh