Files
ROMFASTSQL/scripts/ups-monitor
Marius 7cf64532b8 feat(ups): unelte pentru testul de autonomie cu scoaterea din priza
set-praguri.ps1 schimba pragurile de oprire fara sa atinga parola SMTP si
reporneste taskul, pentru ca ups-monitor.ps1 citeste configuratia o singura
data, la pornirea buclei.

trace-baterie.ps1 scrie o citire la fiecare 20 s intr-un CSV local, iar
start-trace.ps1 il inregistreaza ca task programat sub SYSTEM. Local si
detasat, pentru ca intr-o pana reala reteaua cade odata cu curentul daca
switch-ul nu e pe UPS: sesiunea SSH devine oarba si emailurile esueaza, deci
CSV-ul de pe server ramane singura sursa de date. Taskul are aceleasi
AllowStartIfOnBatteries / DontStopIfGoingOnBatteries ca monitorul - fara ele
Windows l-ar opri exact cand incepe ce vrem sa masuram.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RRyaDj39hPQ89SZS6URRpS
2026-08-27 15:47:56 +03:00
..

ups-monitor — monitorizare UPS pentru serverul Oracle de producție (10.0.20.36)

Înlocuiește ViewPower, care nu putea dialoga cu acest UPS. Citește starea alimentării prin GetSystemPowerStatus (canalul HID nativ Windows), alertează pe email și oprește curat Oracle înainte de epuizarea bateriei.

Documentația completă — diagnostic, praguri, operare, capcane: docs/ups-server36-monitorizare.md

Fișier Rol
ups-monitor.ps1 monitorul: buclă + modurile Status, TestMail, TestShutdown, Once
install-ups-monitor.ps1 instalare pe server: copiere, config.json, ACL, task programat
config.example.json șablon de configurare

config.json real trăiește doar pe server (C:\ROMFAST\ups-monitor\), cu ACL restrâns — conține parola SMTP și nu se comite.

Livrare

scp -P 22122 ups-monitor.ps1 install-ups-monitor.ps1 Administrator@10.0.20.36:'C:/ROMFAST/_deploy/'
ssh -p 22122 Administrator@10.0.20.36 "powershell -ExecutionPolicy Bypass -File C:\ROMFAST\_deploy\install-ups-monitor.ps1 -SmtpPassword ..."

Înainte de livrare, verificarea de sintaxă pentru PowerShell 5.1 (ținta de pe server):

$e=$null; [System.Management.Automation.PSParser]::Tokenize((Get-Content ups-monitor.ps1 -Raw), [ref]$e); $e