Every small team has a battery story. Not a battery incident — a battery story, told after the outage, when someone finally walks over to the UPS in the corner, presses the self-test button, and watches the whole thing go flat in nine seconds.
The battery was fine in 2024. The lights on it are green right now. Neither of those facts means anything, and that gap is what this article is about.
Why green lights lie
A UPS without load does almost nothing. The electronics live a quiet life, the status LED glows a comfortable green, and inside the case the battery quietly ages. Lead-acid cells in particular degrade faster on a maintained float charge that never gets exercised. You get roughly three to five usable years, and the failure mode is not gradual — it is a cliff. The unit reports healthy right up until the moment it isn't.
That's why "it worked last year" is not data, and why the LED is not evidence. The only evidence is a drill that has actually run.
The drill, in 15 minutes
Do this once a quarter, per device. Pick the first Tuesday of the quarter so it becomes furniture.
- Announce it. One line in the team channel: UPS drill at 14:00, expect a brief shutdown risk.
- Snapshot first. Confirm tonight's backups completed before you start. Testing power with a stale backup is how a drill becomes an incident.
- Pull the wall power. Not the self-test button — the actual plug. Self-test checks the battery under synthetic load; the plug tests your whole chain including the PDU and the cabling nobody has touched since the racking.
- Watch the runtime. Note the minute the alarm sounds and the load percentage. Anything under five minutes at current load means the battery is already a zombie.
- Fire the shutdown script — on purpose. If servers are supposed to auto-shutdown when the UPS hits 20%, trigger that threshold deliberately. If the script has never run for real, today is its first day of work. Half the "configured" shutdown scripts I've seen fail on the first real run: wrong SSH keys, missing sudoers entry, a hostname that changed in 2024.
- Restore and log one line. Device, date, runtime, script result, who ran it. One line is enough. The log is the point.
The cold-start card
Print one page and tape it inside the rack door: where the plugs are, which order things come back up (network first, storage second, everything else after), who to call. After a real outage, the room is dark and everyone's phone is at 12%. The card earns its keep exactly once, and that once pays for it.
Small-team honesty note
You do not need a generator, a transfer switch, or a fuel contract. A ten-person office needs four Tier 1 devices on UPS, a shutdown script that has fired once on purpose, a cold-start card on the wall, and a quarterly unplug drill logged in one line.
The trap is green-light complacency: three years of green lights on a battery that died in year two, and an auto-shutdown script "configured" since 2024 that has never once actually run.
If you only do one thing
Pull one plug today. One. Watch what happens, write the line down, and put the next drill in the calendar before you leave. Everything else in your infrastructure will send you metrics. This is the one system that fails silently — so test it loudly.
Related pages (all free, no signup):
- Power failure IT checklist — the full page
- Server monitoring checklist for small teams
- Backup encryption checklist
- Incident response drill schedule template
- DNS outage runbook
From the HIVE80lab kit:
- The First 30 Minutes — free one-page quick-start checklist for the first half hour of any outage
- Ops Starter Kit — $14 incident-response kit for small teams
- Ops Starter Kit Vol. 2 — $27 advanced incident response & communications
- Automation Starter Pack — $19 pick-first automation templates
💬 Discussion: What's the longest runtime your UPS has actually delivered?
Top comments (0)