I
IT Notes and Insights
@IT_notes_insights6 подп.
14просмотров
21 июля 2025 г.
Score: 15
🔌 NUT (Network UPS Tools) — контроль ИБП в сети Недавно нужно было настроить NUT на новой ноде Proxmox и я понял, что совсем забыл как это делать. Чтобы не забыть, а при отключении света устройства корректно выключались я решил написать эту заметку. NUT нужен для того чтобы: ✅ Следить за состоянием UPS ✅ Получать уведомления (например, при пропадании питания) ✅ Автоматически выключать систему при долгом отключении ✅ Работать с несколькими машинами в сети Режим работы: netclient Мой сервер не подключен к ИБП напрямую, он получает информацию от другого по сети. Для этого NUT работает в режиме netclient — просто слушает сигналы от удалённого сервера NUT. # /etc/nut/nut.conf MODE=netclient 🧠 Мониторинг удалённого UPS # /etc/nut/upsmon.conf MONITOR ups@192.168.10.1 1 ups password slave Здесь: - ups — имя ИБП на удалённой машине - 192.168.10.1 — её IP - ups / password — логин/пароль, заданные на удалённой машине - slave — клиентский режим Остальные параметры: частота опроса, команды выключения, уведомления и т.д. 📜 Автоматизация с upssched NUT вызывает скрипт, если питание пропало или восстановилось. Тут задаётся логика: «если света нет 300 секунд — выключиться». # /etc/nut/upssched.conf MONITOR ups@192.168.10.1 1 ups password slave NOTIFYCMD /sbin/upssched NOTIFYMSG ONLINE "UPS %s on line power" NOTIFYMSG ONBATT "UPS %s on battery" NOTIFYMSG LOWBATT "UPS %s battery is low" NOTIFYMSG FSD "UPS %s: forced shutdown in progress" NOTIFYMSG COMMOK "Communications with UPS %s established" NOTIFYMSG COMMBAD "Communications with UPS %s lost" NOTIFYMSG SHUTDOWN "Auto logout and shutdown proceeding" NOTIFYMSG REPLBATT "UPS %s battery needs to be replaced" NOTIFYMSG NOCOMM "UPS %s is unavailable" NOTIFYMSG NOPARENT "upsmon parent process died - shutdown impossible" NOTIFYFLAG ONLINE SYSLOG+WALL+EXEC NOTIFYFLAG ONBATT SYSLOG+WALL+EXEC NOTIFYFLAG LOWBATT SYSLOG+WALL+EXEC NOTIFYFLAG FSD SYSLOG+WALL+EXEC NOTIFYFLAG COMMOK SYSLOG+WALL+EXEC NOTIFYFLAG COMMBAD SYSLOG+WALL+EXEC NOTIFYFLAG SHUTDOWN SYSLOG+WALL+EXEC NOTIFYFLAG REPLBATT SYSLOG+WALL+EXEC NOTIFYFLAG NOCOMM SYSLOG+WALL+EXEC NOTIFYFLAG NOPARENT SYSLOG+WALL+EXEC ⚙️ Скрипт действий: # /etc/nut/cmd.sh #!/bin/sh case $1 in powerout) logger "UPS on battery. Shutdown in 300 seconds...." ;; powerup) logger "UPS on line. Shutdown aborted." ;; shutdownnow) logger "UPS has been on battery for 300 seconds. Starting orderly shutdown" /usr/bin/sudo /sbin/shutdown -h +0 ;; shutdowncritical) logger "UPS battery level CRITICAL. Shutting down NOW!!!!" /usr/bin/sudo /sbin/shutdown -h +0 ;; *) logger "Unrecognized command: $1" ;; esac 🔐 Пользователи (на удалённом сервере): # /etc/nut/upsd.users [upsmon] password = xxx actions = SET FSD instcmds = ALL upsmon master 💾 Сохранил здесь, чтобы не забыть. Работает стабильно. Проверено отключением света 🙂
14
просмотров
2984
символов
Да
эмодзи
Нет
медиа

Другие посты @IT_notes_insights

Все посты канала →
🔌 NUT (Network UPS Tools) — контроль ИБП в сети Недавно нуж — @IT_notes_insights | PostSniper