POWERD(8) Linux System Administrator's Manual POWERD(8)

powerd -- monitor a serial line connected to an UPS.

/sbin/powerd serial-device

Powerd is a daemon process that sits in the background and monitors the state of the DCD line of the serial device. This line is meant to be connected to a UPS (Uninterruptible Power Supply) so that powerd knows about the state of the UPS. As soon as powerd senses that the power is failing (it sees that DCD goes low) it notifies init(8), and init then executes the powerwait and powerfail entries. If powerd senses that the power has been restored, it notifies init again and init will execute the powerokwait entries.

serial-device
Some serial port that is not being used by some other device, and does not share an interrupt with any other serial port.

Powerd regularly checks the DSR line to see if it's high. DSR should be directly connected to DTR and powerd keeps that line high, so if DSR is low then something is wrong with the connection. Powerd will notify you about this fact every two minutes. When it sees that the connection has been restored it will say so.

It's pretty simple to connect your UPS to the Linux machine. The steps are easy:
1.
Make sure you have an UPS with a simple relay output: it should close its connections (make) if the power is gone, and it should open its connections (break) if the power is good.
2.
Buy a serial plug. Connect the DTR line to the DSR line directly. Connect the DTR line and the DCD line with a 10 kilo ohm resistor. Now connect the relay output of the UPS to GROUND and the DCD line. If you don't know what pins DSR, DTR, DCD and GROUND are you can always ask at the store where you bought the plug.
3.
You're all set.

Well, not a real bug but powerd should be able to do a broadcast or something on the ethernet in case more Linux-boxes are connected to the same UPS and only one of them is connected to the UPS status line.

shutdown(8), init(8), inittab(5)

Miquel van Smoorenburg, miquels@cistron.nl
February 14, 1994